2011-02-02 44 views
0

當我們在Zend應用程序中創建一個視圖幫助程序時,該幫助程序是否可用於所有視圖,或者,我們是否應該告訴該視圖幫助程序可用於特定視圖? 如果在視圖文件夾「某些東西」中,我們有多個文件?任何這些文件都可以調用它?Zend-Framework視圖助手 - 它具體的視圖相關嗎?

非常感謝, MEM

+1

視圖助手可用於所有視圖。 – opHASnoNAME 2011-02-02 09:16:56

回答

2

當你調用一個視圖助手,該框架將通過查找定義$view->addHelperPath()的路徑中。通常,這樣的通話將包括一個僞命名空間以及一個路徑:

$view->addHelperPath('My/View/Helper', 'My_View_Helper_');

然後當你調用在佈局視圖助手或視圖腳本:

<?php echo $this->someHelper() ?>

該框架將執行LIFO搜索,將前綴(在上述情況下爲'My_View_Helper_')附加到類名'SomeHelper',然後嘗試加載由addHelperPath()映射定義的文件。

在默認設置中,框架預加載Zend視圖助手致電:

$view->addHelperPath('Zend/View/Helper', 'Zend_View_Helper_');

這就是爲什麼你可以使用所有的Zend公司提供的視圖助手開箱的。

由於所有這些處理都獨立於哪個視圖腳本正在進行調用,它將在任何視圖腳本中工作。 [實際上有一些與調用在其他模塊中定義的視圖助手相關的問題,但這是一個單獨的問題。]