2010-03-08 52 views
7

問題很簡單:我有一個Zend Framework的控制器插件。把插件放在Zend Framework網站的地方

我應該把它放在「library/Plugin」文件夾還是「應用程序/插件」中。

(順便說一句,現在它是在庫/插件,但這個工作在Linux和Mac OS X,但不能在Windows,所以我想也許這是不正確的地方)

謝謝

回答

4

如果它的一個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

3

我一般把一切特定於我的應用程序,例如不能修改爲適當的應用程序文件夾。

對於通用插件,我在庫中創建了一個新文件夾。這個文件夾是在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