2011-02-02 5 views
0

Zendアプリケーションでビューヘルパーを作成すると、すべてのビューでそのヘルパーを使用できるようになりますか、または特定のビューでそのビューヘルパーが使用可能であることを何らかの形で伝える必要がありますか? ビューフォルダ "something"に複数のファイルがある場合はどうなりますか?それらのファイルのどれでもそれを呼び出すことができますか?ビューヘルパーを呼び出すとZend-Framework Viewヘルパー - 特定のビューに関連していますか?

どうもありがとう、 MEM

+1

ビューヘルパーはすべてのビューで使用できます。 – opHASnoNAME

+0

ありがとうございました:)それで答えたら、私はあなたにポイントを与えることができます。 :) – MEM

答えて

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が提供するビューヘルパーを使用することができる理由です。

この処理はすべて、どのビュースクリプトが呼び出しを行っているかに関係なく、どのビュースクリプトでも機能します。 [実際には他のモジュールで定義されたビューヘルパーを呼び出す際にいくつかの問題がありますが、それは別の問題です。]

関連する問題