、私は通常の操作を行います、だから、Zend Framework:モデル内にView変数を設定できますか?私のコントローラで
echo $this->foo;
:ビュースクリプトで
$this->view->foo = "bar";
(私はVIEW-VARSとして、これはvarsの呼び出し)
、私はこれをレンダリングビュースクリプトでレンダリングできるモデル(コントローラではない)の中に "view vars"を定義することが可能かどうか疑問です。
、私は通常の操作を行います、だから、Zend Framework:モデル内にView変数を設定できますか?私のコントローラで
echo $this->foo;
:ビュースクリプトで
$this->view->foo = "bar";
(私はVIEW-VARSとして、これはvarsの呼び出し)
、私はこれをレンダリングビュースクリプトでレンダリングできるモデル(コントローラではない)の中に "view vars"を定義することが可能かどうか疑問です。
ビューに情報を割り当てることはコントローラの仕事であり、あなたが提案していることをMVCパターンの境界に泥まらせることになります。
実際に行うべきことは、(コントローラ内の)ビューにモデルを割り当ててから、ビュー内のモデルのさまざまな部分にアクセスすることです。または、コントローラのモデルの関連部分のみを割り当てることもできます。
モデルが実際にビューを構成する責任を負わないという事実を無視して、モデルが許可されている場合(ViewModelパターンなど)があります。 ビューインスタンスを取得または提供するには、いくつかの方法があります。
$model->setView($this->view)
)。ViewRenderer
ヘルパーを経由して、ビューのインスタンスを取得します。あなたは$view = Zend_Controller_Front::getInstance()->getParam('bootstrap')->bootstrap('view')->getResource('view');
MVVMの考え方は、Viewをモデルに結合するのではなく、ViewModelをデータバインディングとして使用することです。 – cmbuckley
かもしれませんが、あなたはいけない:
$view = Zend_Controller_Action_HelperBroker::getExistingHelper('ViewRenderer')->view;