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