|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.11.2011, 01:52 | #1 |
Create
Пользователь
Регистрация: 15.01.2011
Сообщений: 20
|
class_exists
Доброго времени суток.
Проблема: 1-Есть список каталогов. (scandir) 2-Все каталоги перебираются в цикле (foreach). 3-В каждом из них идёт проверка на наличие php файла с определённым именем. (example.php ,например) 4- если файл существует ,нужно проверить существует ли в нём определённый класс (class first {} например)... Поиск решения: Дошёл до file_exists()... А вот как быть дальше ,не знаю. Если подгрузить php скрипт ,то нужно его "выгрузить" ,иначе будет редекларация класса ,но я таких средств в PHP не видел ... Либо проверка файла без подзагрузки... Либо анализ текста , но этот вариант не подходит ,ибо нужно проверять методы и прочее ,прочее ,прочее... Спасибо за внимание
Не бойся делать то, что не умеешь. Помни, ковчег был построен любителем. Профессионналы строили Титаник
|
20.11.2011, 02:27 | #2 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 679
|
Вообще то что вы хотите реализуется в php с помощью магической функции __autoload()
Т.е. в каталоге создаете файлы Имя_класса.php , а в __autoload делаете include по имени класса. Если там какие-то "редикларации" , то namespace вам в руки. Если это уже какая-то готовая написанная система, которую "не изменить" , то извините это бред .... хотя этот бред наверное можно загрузить в какой-нибудь namespace и пройтись по нему Reflection в поисках "ваших" методов. Но тогда тут налицо страшная проблема проектирования всего ЭТОГО ... |