這可能是新手學習zend最令人沮喪的部分。當我在zend中創建插件時,我在哪裏保存文件?
我在哪裏創建我的新班級檔案?
這裏有個例: http://forums.zend.com/viewtopic.php?f=69&t=4988
或另一個位置: http://framework.zend.com/manual/1.11/en/zend.controller.plugins.html
但他們都不是在哪裏這個插件應該被創造出來的?
這可能是新手學習zend最令人沮喪的部分。當我在zend中創建插件時,我在哪裏保存文件?
我在哪裏創建我的新班級檔案?
這裏有個例: http://forums.zend.com/viewtopic.php?f=69&t=4988
或另一個位置: http://framework.zend.com/manual/1.11/en/zend.controller.plugins.html
但他們都不是在哪裏這個插件應該被創造出來的?
最好的想法是把你的類放在自動加載器可以找到它們的地方。這也是模仿Zend類名稱結構的僞慣例。
例如,假設您製作了名爲「Foo」的控制器插件。將該類命名爲
class My_Controller_Plugin_Foo extends Zend_Controller_Plugin_Abstract
並將該文件保存在library/My/Controller/Plugin/Foo.php
。
要具有自動裝卸拿起你的「我的」命名空間(注意,這不是一個PHP 5.3命名空間),只需將它添加到您的application.ini
文件
autoloaderNamespaces.My = "My_"
這裏唯一的限制是你的「我的「文件夾必須位於包含路徑中。把它放在「庫」文件夾解決了這個問題。
您可以在的application.ini文件中指定的插件目錄
resources.frontController.plugindirectory = APPLICATION_PATH "/plugins"
或
autoloaderNamespaces[] = "My_"
resources.frontController.plugins.MyPlugin =
"My_Controller_Plugin_MyPlugin"
這裏假設你有
/path/to/library/My/Controller/Plugin/MyPlugin.php
在Zend中瞭解更多關於Application's Directory Layout框架。
非常感謝。這是解決所有問題的鏈接!我正在尋找一些適用於我新創建的課程的一般規則,但沒有成功。網上應該有更多的回聲。 – 2011-05-04 06:26:36
非常感謝您的回答。我非常喜歡_autoload機制。我會去那。 – 2011-05-04 06:58:15
我猜ZF用很難理解的App_Model_Rubbish東西改變了經過驗證的自動加載架構(庫/庫中的模型,/模型中的模型)。 – 2011-05-04 12:33:45