2011-07-12 40 views
3

我目前在引導期間初始化我的網站導航。我初始化從1到3個導航對象的任何地方。大多數請求都需要導航對象,但有些則不需要。那些不包含爲下載和JSON請求生成的文件的文件。我不想在不使用導航對象時生成導航對象。Zend Framework:初始化引導中的導航

我看到兩種不同的可能的解決方案類型:

  1. 指定不需要導航路線,並檢查這些引導
  2. 延遲加載導航

對於可接受的期間解決方案我正在尋找細節解決此問題。我對我還沒有列出的解決方案類型感興趣。


SOLUTION

我接受FinalForm的答案,但它並沒有具體我一直在尋找。下面是我所採取的步驟:

  • 加了我Navigation模型的實例

    1. 創建一個lazy loading功能在我Navigation數據庫模型類爲每個導航對象
    2. 移到相應的引導代碼,每個功能在引導
    3. 改變View$this->siteNav引用Zend_RegistryZend_Registry::get('nav')->getSiteNav()
  • 回答

    2

    Lazy Load一路走來。

    • 在引導時初始化導航似乎增加了整個應用程序的開銷,因爲並非每個頁面都需要導航。

    • Specify routes that don't need the navigation混合聽起來很clugey。

    您應該擴展Zend庫以創建您自己的sorta版本庫,例如,擴展核心控制器。在那個擴展中使用它來添加一個方法來建立你的導航。換句話說,從擴展庫類繼承實際應用程序。

    或創建​​來開發您的導航。

    +0

    感謝您列出使用延遲加載的原因。但是,我對於完成延遲加載的具體細節還不清楚。 – Sonny

    +0

    你介意說明一下嗎? – Sonny