2011-05-04 74 views

回答

4

最好的想法是把你的類放在自動加載器可以找到它們的地方。這也是模仿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_" 

這裏唯一的限制是你的「我的「文件夾必須位於包含路徑中。把它放在「庫」文件夾解決了這個問題。

+0

非常感謝您的回答。我非常喜歡_autoload機制。我會去那。 – 2011-05-04 06:58:15

+0

我猜ZF用很難理解的App_Model_Rubbish東西改變了經過驗證的自動加載架構(庫/庫中的模型,/模型中的模型)。 – 2011-05-04 12:33:45

4

您可以在的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框架。

+0

非常感謝。這是解決所有問題的鏈接!我正在尋找一些適用於我新創建的課程的一般規則,但沒有成功。網上應該有更多的回聲。 – 2011-05-04 06:26:36

相關問題