2013-07-15 53 views
0

我是zend框架的新手,並試圖瞭解bootstrapping是如何工作的。到目前爲止,我已經理解Zend_Application加載PHP環境,設置包含路徑,配置自動加載器,然後調用Bootstrap類的引導方法。Zend Bootstrap類和資源插件

Bootstrap方法執行所有資源方法(_init *()),然後執行資源插件。

我的問題是如果我使用資源方法配置相同資源並使用資源插件會發生什麼?下面的示例:

//Bootstrap resource method 
    protected function _initLayout(){ 
      $this->bootstrap('layout'); 
      $layout = $this->getResource('layout'); 
      $layout->setLayout('index'); 
    } 

//Bootstrap resource plugin 
resources.layout.layout = "main" 

目前的資源插件是資源的方法之後調用所以這應該覆蓋我的佈局,並將其設置爲「主」,但這種情況不會發生。

不應該插件資源覆蓋我們的資源方法的設置?

我應該使用什麼來引導資源方法或資源插件?

感謝您的幫助。

回答

1

引導類不會引導已經執行的資源,所以在您的示例中,資源插件將不會運行,因爲您通過類方法創建了「佈局」資源。如果您更改方法的名稱,它將按照您的預期工作。

我會避免創建匹配插件名稱的_init方法,因爲它會導致不可預知的問題。

我應該用什麼來引導資源方法或資源插件?

您可以使用任何一種,所以主要是個人喜好。我會建議堅持一種方法,或者可能有一個像使用資源插件這樣的約定來配置標準的ZF事物和方法來定製應用程序資源。