Я - планирование проведения исследования о том, как реализовать сменную архитектуру в PHP. Я попытался искать сеть возможные ссылки, но я думал, что, возможно, мой поиск хорошей ссылки был бы быстрее и более релевантным, если бы я спросил здесь.
Кто-либо здесь попытался использовать сменную архитектуру для веб-проектов?
Спасибо, Erwin
Я написал плагины для wordpress, и волшебство, на которое они опираются, - это «Имена переменных функций». Например, это действительный php, в котором будет вызываться вызов функции phpinfo ():
$func_name="phpinfo";
$func_name();
Это позволяет разработчику «перехватывать» вызовы функций, например, переопределить их своими собственными функциями без изменения остальной части приложения. Модули ядра Linux предназначены для «перехвата», без такого поведения они бы не работали.
К сожалению, имена функций переменных PHP - это отвратительный прием, требующий много ресурсов. Все функции в пространстве имен помещаются в список, и в этом списке необходимо выполнить поиск, хотя перед вызовом функции это O (log2 (n)). Также имейте в виду, что имена функций переменных не могут быть должным образом ускорены в HipHop, хотя код все равно будет преобразован в допустимый C ++. Лучшим подходом было бы повторно объявить функции, как вы можете в python, что было бы сложностью O (1), но команда разработчиков PHP НЕНАВИЖИТ эту идею (Да, я просил об этой функции!) .
Удачи!
Вы можете взглянуть на то, как Zend Framework реализовал свой Plugin Loader
компонент.
В основном вы задаете пути к местам хранения плагинов, а загрузчик пытается загрузить первый найденный плагин в порядке LIFO.