2012-05-11 24 views
0

我有一個Zend應用程序,它有一個CMS模塊和一個用戶模塊。我需要在CMS模塊的引導程序中執行一些涉及User模塊下的服務的操作。Zend 1.11 +不能在另一個模塊的引導程序中使用模塊資源

當我嘗試實例化服務類時,出現「Class not found」錯誤,提示Users模塊中的資源尚未自動加載。

我想強調的是,我必須在引導期間執行操作,而不是在執行操作後執行操作。

我怎麼可能從我的用戶模塊從我的Admin模塊的引導程序中加載資源?

+0

你可能必須建立一個插件加載的資源[preDispatch()](http://framework.zend.com/manual/en/zend.controller.plugins.html)或更早版本。這樣所有的引導程序將運行 – RockyFord

+0

你目前如何加載你的模塊?通過application.ini中的resources.modules或主引導程序? –

回答

0

您可以執行在全球引導所需的全部應用程序類和命名空間的自動加載(而不是在模塊具體白手起家):

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { 
    protected function _initAutoloaders() 
    { 

     // require/require_once for libs/modules with specific autoloaders 

     // Load HTML purifier autoloader 
     require_once 'HTMLPurifier' . DS . 'HTMLPurifier.auto.php'; 

     // Load WideImage 
     require_once 'WideImage' . DS . 'WideImage.php'; 

     // ... 

     // Use Zend autoloader for other stuff 

     $zendAutoloader = Zend_Loader_Autoloader::getInstance(); 

     // Register stuff. 
     $autoloader = array(new SomeClassLoader('SomeLib', LIB_PATH), 'loadClass'); 
     $zendAutoloader->pushAutoloader($autoloader, 'LibName\\'); 

     // ... 


    } 

    // ... Other initializers 
} 
相關問題