是否可以在某些外部脚本或系统中加载Zend Framework?
例如,我想在CMS中使用ZF完整功能。
我们将不胜感激。
答案 0 :(得分:1)
可以在任何PHP应用程序中包含ZF。正如ZF团队在手册中所述,ZF组件松散耦合,因此您只能在应用程序中使用库的某些部分。
我通常做的是将ZF的自动加载器堆叠到spl_autoloader并仅使用ZF自动加载器注册“Zend_”名称空间。这样,如果您的CMS自动加载器未能包含ZF类,那么您将使用它来继续使用Zend的自动加载器来完成这项工作。
如果你想在你的CMS中使用ZF的MVC来获得某些请求,那么它也是可能的,虽然有点棘手。
我确实在Joomla 2.5组件中包含了一次ZF。在大多数CMS中,任何模块,组件,插件等都通过包含一个文件来执行,并且该文件中的任何内容都将被执行。
使用Joomla,我只需使用Zend_Controller_Front并在上述文件中调度它。我在preDispatch挂钩(方法)上将一个插件(扩展Zend_Controller_Plugin_Abstract)附加到前端控制器,并在该挂钩中手动设置控制器,操作和模块(如果有的话),从php的$ _GET或$ _POST获取信息,具体取决于您的CMS如何处理请求。
在脚本开头设置ZF自动加载器并在最后取消设置它将完成包含ZF工作所需文件的工作。
不要忘记在PHP的包含路径中包含ZF。
希望这个混乱的帖子有帮助:)