Вопрос по поводо __call()

dimitrius

Новичок
несколько методов класса реализовал через __call(), но при проверке method_exists() выдает ошибку. Как обойти это?
заменить проверку method_exists() считаем - невозможно
тут http://stackoverflow.com/questions/1505696/php-call-vs-method-exists говорят решения нет, а вы как? название метода будет зависить от пользователя, поэтому нужно __call. Менять архитектуру считаем - невозможно.
 
Последнее редактирование:
Ты используешь инструменты не по назначению, поэтому у тебя куча проблем.
 
dimitrius
а почему из всех возможных вариантов ты выбираешь именно через-жопный?
 
dimitrius
а почему из всех возможных вариантов ты вибираешь именно через-жопный?
потому, что французы (в бородино б их), в своей cms реализовали понятие hook - место где вызывается модуль и отображается результат его работы, хуков +-50, где автоматом вызывается метод $module->{'hook'.$hookName}
Стоит задача сделать универсальный модуль, который пользователь может разместить в любом из хуков. Можно написать +-50 методов - это не тяжело. Но пользователь также может самостоятельно добавить хук, вот тогда грустно.
В единичном случае можно и в ядре поправить, но для массовости это не пойдет.
 
а причем тут method_exists? создай список всех хуков и зарашивай in_array ли он
 
замени method_exists() на свою реализацию
 
Форкайте cms, допиливайте ядро, шлите PR - не примут, юзайте форк)
 
Решил путем автодописания методов класса при установке модуля.
 
Сверху