Получить имена всех классов из файла (либо имена всех классов-потомков родителя)

D.Lans

Новичок
Получить имена всех классов из файла (либо имена всех классов-потомков родителя)

Всем доброго времени суток.

Задача стоит такая.

Есть желание реализовать автопоиск новых модулей для сайта (каждый модуль - отдельный класс, наследуемый от единого для всех родителя). Все классы в одном файле classes.php.

Требуется: запуская admin.php получить список имен всех классов из classes.php:
1. class1
2. class2
..
N. classN
дальше уж сам разберусь, что с ними делать

Нет проблем реализовать почти то же самое, но на основе файлов (каждый модуль в отдельном файле). Все файлы - в одной директории; просто поиском найти и соответствующе обработать.

Но хочется, чтобы все было в одном .php файлике.

Как уже было сказано, все классы - потомки одного родителя. Было бы неплохо вызвать некий метод, возвращающих имена всех потомков (есть ли такой? я, к сожалению не нашел).

На самый крайний случай - искать регулярными выражениями class <имя_класса>. Но это грубо.
Хочется нежнее. :)

Подскажите, плз, куда копать.
 

cDLEON

Онанист РНРСlub
Копать в сторону разделения файла classes.php на кучу файлов - для каждого файла - свой класс.
 

D.Lans

Новичок
Да даже это удобнее, согласен.
Но встаёт вопрос быстродействия.
Все же подключение файлов (1-5-10-15) несколько медленнее загрузки из одного, поэтому и менее предпочтительно.
 

cDLEON

Онанист РНРСlub
жаль...А то я хотел узнать сколько денег вы уже на спичках съэкономили...
 

Gas

может по одной?
раз не хочется регулярками
PHP:
$list = get_declared_classes();
require_once path_to_classes;
print_r(array_diff(get_declared_classes(), $list));
:) но это не выход.

Но хочется, чтобы все было в одном .php файлике.
это не правильно.

возвращающих имена всех потомков
по заданному имени родителя? конечно нет такого.

лучше тебе поискать как делают модульные системы, хотя сейчас должны начать писать как у кого сделано.
 

korchasa

LIMB infected
Вы абсолютно уверены, что модули будут содержать только классы, что в них не будет тестов, картинок, шаблонов, js и css файлов? Если да, то строгого именования файлов, в зависимости от модулей вам должно хватить.

Но хочется, чтобы все было в одном .php файлике.
Ну так склеивайте непосредственно при инсталяции модуля, зачем пугать разработчиков файлами по 10000 строк кода ;)
 

D.Lans

Новичок
Вы абсолютно уверены, что модули будут содержать только классы, что в них не будет тестов, картинок, шаблонов, js и css файлов?
Не задумывался. Скорее нет.

В общем решил каждый класс писать в отдельном файле. Попробуем так.
 
Сверху