2011-08-03 34 views
2

我希望能夠從我的控制器獲取數據,使其可以從所有視圖或佈局訪問..這樣我就不必指定一個變量每個控制器每次..zend,我怎樣才能得到數據佈局或視圖,而無需每次分配

在我的情況

,在我layout.phtml,那裏有一個類別列表從數據庫中直接的,現在,我對每個控制器分配如下:

class productsController extends Zend_Controller_Action { 

    public function init() { 
    Zend_Layout::getMvcInstance()->assign('categories',$dbArrayCategories)); 
    } 
} 

,但我不每個控制器都想重複每次。

+0

'$ dbArrayCategories'從哪裏來?你可以使用'Registry'嗎? – ChrisA

+1

當前註冊表是一種IOC容器,不應該用於數據,但僅用於依賴對象。 –

+0

dbArrayCategories是來自我的數據庫的數據連續數據。 –

回答

1

您可能會擴展Zend_ Controller_Action與你自己的基類並直接在構造函數或init方法中賦值。

+0

我該如何擴展Zend_Controller_Action? –

+0

'abstract class My_Controller_Action extends Zend_Controller_Action {' http://framework.zend.com/manual/en/zend.controller.action.html接近頁面尾部 –