我使用的是ZF3,我知道以下内容适用于控制器:
$this->params()->fromQuery('my_get_var', 'default_value');
$this->params()->fromPost('my_post_var', 'default_value');
如何在视图中获取 ? (当然,没有直接访问superglobals $ _GET和$ _POST)
答案 0 :(得分:1)
我假设它与ZF2相同,将它们传递给视图。
$viewModel = new ViewModel();
$viewModel->my_get_var = $this->params()->fromQuery('my_get_var', 'default_value');
$viewModel->my_post_var = $this->params()->fromPost('my_post_var', 'default_value');
return $viewModel;
然后您可以在view.phtml中显示它们
<?php echo $this->my_get_var; ?>
<?php echo $this->my_post_var; ?>
请参阅我的回答here。
答案 1 :(得分:0)
作为返回和访问的另一种方式,您可以使用提供的&#34; Zend魔法&#34;。
在Controller中,返回如下:
return [
'getName' => $this->params()->fromQuery('get_var', null),
'postName' => $this->params()->fromPost('post_var', null),
];
这里的神奇之处在于为您自动创建ViewModel
。第二个魔力是返回的键被设置为新创建的ViewModel
中的变量。
(编辑:刚刚发现@Garry在他已经包含上述内容的答案中提供的this link)
在ViewModel
中你也可以使用一些Zend Framework魔法。您可以使用$getName
和$postName
代替$this->getName
/ $this->postName
。所以,打印do:
<?= $getName ?: 'No GET params given' ?>
<?= $postName ?: 'No POST params given' ?>