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

dimitrius

Новичок
несколько методов класса реализовал через __call(), но при проверке method_exists() выдает ошибку. Как обойти это?
заменить проверку method_exists() считаем - невозможно
тут http://stackoverflow.com/questions/1505696/php-call-vs-method-exists говорят решения нет, а вы как? название метода будет зависить от пользователя, поэтому нужно __call. Менять архитектуру считаем - невозможно.
 
Последнее редактирование:

Вурдалак

Продвинутый новичок
Ты используешь инструменты не по назначению, поэтому у тебя куча проблем.
 

hell0w0rd

Продвинутый новичок
В __call кидать исключение, если такого метода нет
 

WMix

герр M:)ller
Партнер клуба
dimitrius
а почему из всех возможных вариантов ты выбираешь именно через-жопный?
 

dimitrius

Новичок
dimitrius
а почему из всех возможных вариантов ты вибираешь именно через-жопный?
потому, что французы (в бородино б их), в своей cms реализовали понятие hook - место где вызывается модуль и отображается результат его работы, хуков +-50, где автоматом вызывается метод $module->{'hook'.$hookName}
Стоит задача сделать универсальный модуль, который пользователь может разместить в любом из хуков. Можно написать +-50 методов - это не тяжело. Но пользователь также может самостоятельно добавить хук, вот тогда грустно.
В единичном случае можно и в ядре поправить, но для массовости это не пойдет.
 

WMix

герр M:)ller
Партнер клуба
а причем тут method_exists? создай список всех хуков и зарашивай in_array ли он
 

Breeze

goshogun
Команда форума
Партнер клуба
замени method_exists() на свою реализацию
 

hell0w0rd

Продвинутый новичок
Форкайте cms, допиливайте ядро, шлите PR - не примут, юзайте форк)
 

dimitrius

Новичок
Решил путем автодописания методов класса при установке модуля.
 
Сверху