2012-12-10 23 views
0

我有一個Zend前端控制器插件。它依賴於請求對象和服務層,但它不能跨應用程序重用。因此,我認爲它屬於應用程序控制器目錄中的一個Plugins目錄。這聽起來正確嗎?哪裏和如何找到這個Zend控制器插件

其次,我該如何讓Zend自動加載這個目錄中的插件?

謝謝!

回答

1

我同意插件應該放在插件文件夾中。我通常在引導期間使用我的應用程序的自定義名稱空間設置資源自動加載器的實例。例如。說你的應用程序的命名空間是「鮑勃」:

protected function _initAutoloader() 
{ 
    $autoloader = Zend_Loader_Autoloader::getInstance(); 

    $resourceAutoloader = new Zend_Loader_Autoloader_Resource(array(
     'basePath' => APPLICATION_PATH, 
     'namespace' => 'Bob', 
     'resourceTypes' => array(
      'model' => array(
       'path' => 'models/', 
       'namespace' => 'Model' 
      ), 
      'form' => array(
       'path' => 'forms/', 
       'namespace' => 'Form' 
      ), 
      'plugin' => array(
       'path' => 'plugins/', 
       'namespace' => 'Plugin' 
      ), 
      'service' => array(
       'path' => 'services/', 
       'namespace' => 'Service' 
      ) 
     ) 
    )); 
    $autoloader->pushAutoloader($resourceAutoloader); 

    return $autoloader; 
} 

根據需要添加或刪除的資源類型。然後,您可以將您的插件放在application/plugins/Whatever.php中,並且它會像平常一樣自動加載。

相關問題