把插件放在Zend Framework网站的地方

问题描述:

问题很简单:我有一个Zend Framework的控制器插件。把插件放在Zend Framework网站的地方

我应该把它放在“library/Plugin”文件夹还是“应用程序/插件”中。

(顺便说一句,现在它是在库/插件,但这个工作在Linux和Mac OS X,但不能在Windows,所以我想也许这是不正确的地方)

谢谢

如果它的一个controller plugin它进入“应用程序/插件”。
如果它是一个通用插件(即实用程序类等),它将进入/ library/*,其中*遵循Zend Loader规则。

+0

但是,如果我的控制器名称是My_Plugin_Blah,将autoload在文件夹“application/plugins/Blah.php”中找到它(模块名称“我的”没有问题,但它已正确配置) – 2010-03-08 12:37:50

+0

好的我自己回答,自动加载在应用程序/插件中找到它 – 2010-03-09 10:07:10

我一般把一切特定于我的应用程序,例如不能修改为适当的应用程序文件夹。

对于通用插件,我在库中创建了一个新文件夹。这个文件夹是在Zend库文件夹的名字后建模的,例如My/Controller/Action/Helper或My/Controller/Plugin等等。尽管如此,你也可以将它放在适当的应用程序文件夹中。我只是喜欢这个区别。

我从来没有把任何东西放到标准的Zend发行版中。更新时会丢失。

+0

如果我将它放在My/Controller/Plugin中,自动加载器是否会正确地包含包含路径?我应该如何命名我的控制器? – 2010-03-08 12:38:38

+0

@Matthieu按照惯例,自动加载器会将类名中的下划线更改为斜线以在包含路径中查找文件,所以如果类名为My_Controller_Plugin_Something,则加载器将尝试加载My/Controller/Plugin/Something.php。但是,对于插件,您可能还需要配置插件代理。见http://framework.zend.com/manual/en/zend.controller.plugins.html和http://framework.zend.com/manual/1.10/en/zend.loader.pluginloader.html – Gordon 2010-03-08 12:43:26

+0

@Matthieu其实,你对插件的含义有点模糊。我只是假设你正在谈论控制器插件。但我不确定你没有提及视图或动作助手 – Gordon 2010-03-08 12:50:29