Erw*_*win 5 php architecture plugins
我正计划研究如何在PHP中实现插件架构.我已经尝试在网上搜索可能的参考资料,但我想如果我在这里问的话,我可能会更快更有意义地寻找一个好参考.
有没有人尝试过使用插件架构进行网络项目?
谢谢,欧文
我已经编写了 WordPress 插件,它们所依赖的魔力是“变量函数名称”。例如,这是有效的 php,其中将调用函数调用 phpinfo():
$func_name="phpinfo";
$func_name();
Run Code Online (Sandbox Code Playgroud)
这允许开发人员“挂钩”函数调用,就像用自己的函数覆盖它们一样,而无需更改应用程序的其余部分。Linux 内核模块都是关于“挂钩”的,没有这种行为它们就无法工作。
不幸的是,对于 PHP 来说,变量函数名是一种令人厌恶的黑客行为,会消耗大量资源。命名空间中的所有函数都放在一个列表中,尽管在调用函数之前必须搜索该列表,但时间复杂度为 O(log2(n))。另请记住,尽管代码仍会转换为有效的 C++,但变量函数名称无法在 HipHop 中正确加速。更好的方法是像在 python 中一样重新声明函数,这将是 O(1) 复杂性,但 PHP 开发团队讨厌这个想法(是的,我已经要求了这个功能!)。
祝你好运!