2012-12-13 45 views
1

我正在從Zend Framework 1.12遷移到2.0。到目前爲止,我已經學會了如何註冊個人自定義視圖助手。是否也可以註冊(多個)視圖助手的路徑?寄存器視圖ZF2中的助手路徑

resources.view.helperPath.Application_View_Helper = APPLICATION_PATH "/views/helpers" 

,其結果是::

$this->myHelper1(和... 2,... 3,等

在ZF1我通過把在我的application.ini以下步驟實現這)

會自動加載:

MyApp/module/Application/src/Application/View/Helper/MyHelper1.php 

我怎麼能實現的東西類似於ZF2?

+0

那麼究竟是什麼問題? – akond

+0

剛剛編輯我的問題 – tihe

回答

2

您需要註冊所有的自定義傭工在你的配置是這樣的:

'view_helpers' => array(
    'invokables' => array(
     'myHelper1' => 'Application\View\Helper\MyHelper1', 
     'myHelper2' => 'Application\View\Helper\MyHelper2', 
    ), 
), 

因爲所有的助手來電來自Zend的\查看\渲染器\ PhpRenderer魔術方法__call(),我認爲這是可能的通過擴展原始PhpRenderer並覆蓋plugin()或__call()方法來註冊路徑。

但不推薦使用路徑註冊助手。 ZF2是一個基於服務的框架,包括Helpers/Plugins/Controllers在內的所有東西都應該是預先建立的服務,需要在配置中定義,這對性能和安全性都有好處。

+0

Thx但這是我已經知道。然而,我寧願只註冊路徑而不是個人助手。你有什麼想法,如果這是可能的? – tihe

+0

所有的助手都來自於Zend \ View \ Renderer \ PhpRenderer魔術方法__call(),我認爲可以通過擴展原始PhpRenderer並覆蓋plugin()或__call()方法來註冊路徑。但它是真的不推薦。 ZF2是一個基於服務的框架,包括Helpers/Plugins/Controllers在內的所有東西都應該是預先建立的服務,需要在配置中定義,這對性能和安全性有好處。 – AlloVince

+0

好的,這是一個可以接受的權衡:不便表現和安全。如果你在你的回答中包括你的評論,我會接受並加註。 – tihe