ビューがあり、特定のビューに設定された変数をすべて表示したい場合、どうすればよいですか?
質問する
4359 次
4 に答える
9
オブジェクトに割り当てられた変数は、Zend_View
単にビューオブジェクトのパブリックプロパティになります。
特定のビューオブジェクトにすべての変数を設定する方法はいくつかあります。
ビュースクリプト内から:
$viewVars = array();
foreach($this as $name => $value) {
if (substr($name, 0, 1) == '_') continue; // protected or private
$viewVars[$name] = $value;
}
// $viewVars now contains all view script variables
Zend_View
コントローラ内のオブジェクトから:
$this->view->foo = 'test';
$this->view->bar = '1234';
$viewVars = get_object_vars($this->view);
// $viewVars now contains all public properties (view variables)
最後の例は、を使用して手動で作成されたビューオブジェクトに対しても同様に機能します。$view = new Zend_View();
于 2012-09-24T19:08:06.590 に答える
7
よりエレガントな方法があります:$this->viewModel()->getCurrent()->getVariables();
ネストされた viewModel の場合:$this->viewModel()->getCurrent()->getChildren()[0]->getVariables();
于 2014-04-03T01:33:03.470 に答える
2
$this->view->getVars()
またはビュー内から
$this->getVars()
于 2014-06-06T17:27:17.100 に答える
1
私の場合、別のビュー内から部分ビューをロードする必要がありました。実際、これは非常に簡単でした。親ビューから子に変数を渡すことを心配する代わりに、単に親ビュー オブジェクトを渡します。
<?php echo $this->partial('my-view.phtml', $this); ?>
于 2014-05-07T16:51:19.033 に答える