Zend 框架在外部脚本中加载


Zend Framework load in external script

是否可以在某些外部脚本或系统中加载Zend Framework?

例如,我想在我的 CMS 中使用采埃孚的全部功能。

您的帮助将不胜感激。

可以在

任何PHP应用程序中包含ZF。正如采埃孚团队在手册中指出的那样,采埃孚组件是松散耦合的,因此您可以在应用程序中仅使用库的某些部分。

我通常做的是将 ZF 的自动加载器堆叠到spl_autoloader,并仅向 ZF 自动加载器注册"Zend_"命名空间。这样,如果您的CMS的自动加载器无法包含ZF类,您将使用它继续使用Zend的自动加载器来完成这项工作。

如果您想将采埃孚的 MVC 用于 CMS 中的某些请求,这也是可能的,尽管有点棘手。

我确实在Joomla 2.5组件中包含了一次ZF。在大多数CMS中,任何模块,组件,插件等都是通过包含一个文件来执行的,并且该文件中的任何内容都将继续进行。

使用Joomla,我只是简单地将Zend_Controller_Front发送到上述文件中。我将一个插件(扩展Zend_Controller_Plugin_Abstract)附加到 preDispatch 钩子(方法)上的前端控制器,并在该钩子中手动设置控制器、操作和模块(如果有),根据 CMS 处理请求的方式,从 php 的 $_GET 或 $_POST 中获取信息。

在脚本开头设置 ZF 自动加载器并在最后取消设置它将完成包含 ZF 工作所需的文件的工作。

不要忘记在 PHP 的包含路径中包含 ZF。

希望这个混乱的帖子对:)有所帮助