2013-06-21 31 views
2

我有我的應用程序目錄結構如下:Zend Framework 1.12模塊特定的引導類。

application 
    modules 
     default 
     controllers 
     models 
     views 
     Bootstrap.php 
    test 
     controllers 
     models 
     views 
     Bootstrap.php 

下面是特定模塊的引導文件的代碼:

//default/bootstrap.php 
class Default_Bootstrap extends Zend_Application_Module_Bootstrap 
{ 
    protected function _initMessageDefault(){ 
     echo "called default module's bootstrap file"; 
    } 
} 

//test/bootstrap.php 
class Test_Bootstrap extends Zend_Application_Module_Bootstrap 
{ 
    protected function _initMessageTest(){ 
    echo "called test module's bootstrap file"; 
    } 
} 

現在,如果我調用默認的控制器,即www.domain.com/index我可以看到以下輸出:

called default module's bootstrap file 
called test module's bootstrap file 

我的問題是爲什麼兩個模塊的引導文件被調用?當我調用默認模塊時,不應該只調用默認模塊的boostrap文件嗎?

這是一個錯誤還是我做錯了什麼?

感謝您的幫助提前。

回答

7

這是打算。 Bootstraps適用於初始化,所有引導都在每個請求上運行。

如果您只想爲當前模塊做些什麼,那麼您可能需要的是一個控制器插件。這些也在每個請求上運行,但您可以檢查當前模塊,然後運行一些自定義代碼。