2012-02-17 13 views
0

いくつかの設定と外部Webサービスへの呼び出しの組み合わせからブール値が必要です。Zend:ビューヘルパーとアクションヘルパーの共通コードを共有するにはどうすればいいですか?

すべてのビューのレイアウトファイルにブール値が必要です。それは、いくつかの選択されたコントローラにも必要です。

私は外部Webサービスから必要な値を取得するアクションとビューヘルパーの両方を持っています。

今私は、外部Webサービスと設定値をチェックするために、ビューヘルパーとアクションヘルパーの両方を作成しましたが、ヘルパー間でその共通コードを共有する方法があるようです。

良い方法がありますか?

ありがとうございます!

答えて

1

アクションヘルパーで両方のタスクを実行できるはずです。 MWOPのブログ記事(http://mwop.net/blog/235-A-Simple-Resource-Injector-for-ZF-Action-Controllers)を見てみましょう。彼はアクションヘルパーを使ってブートストラップからコントローラにリソースを割り当てています。コントローラーでブール変数を設定する以外は、同様のアプローチをとることをお勧めします。また、ヘルパー内からViewオブジェクトにアクセスするには、

$view = Zend_Layout::getMvcInstance()->getView(); 
$view->yourBooleanVar = 'whatever'; 

通常通りビューにアクセスできます。

+0

この注入アプローチを見てみましょう。実際には、2つのアクションヘルパーがあります.1つは外部サービスをチェックし、もう1つはブール値を割り当てます。これは間違っていますか? – scottlepich

+0

この方法では、ビューにアクセスするためにはすべてのコントローラからアクションヘルパーを呼び出さなければなりません。私は上手く理解できていない気がします。 – scottlepich

+0

ブログ投稿リンクの2番目のコード例は、ブートストラップのメソッドからアクションヘルパーを呼び出すため、コントローラでヘルパーを使用する必要があるかどうかに関係なく、自動的に実行されます。ブール変数が何であるかをもう少し説明できるなら、私はよりよい例を与えることができます。 –

関連する問題