如何在 Zend Framework 3 中获取 GET 和 POST 参数?
How to get GET and POST parameters in view in Zend Framework 3?
我使用的是 ZF3,我知道以下内容适用于控制器:
$this->params()->fromQuery('my_get_var', 'default_value');
$this->params()->fromPost('my_post_var', 'default_value');
如何获得这些观看次数? (当然,不直接访问超全局 $_GET 和 $_POST)
我假设它与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; ?>
查看我的回答。
作为 return 访问和访问的替代方式,您可以使用提供的 "Zend magic"。
在控制器中,return 如此:
return [
'getName' => $this->params()->fromQuery('get_var', null),
'postName' => $this->params()->fromPost('post_var', null),
];
这里的神奇之处在于 ViewModel
是自动为您创建的。第二个神奇之处在于 returned 键在新创建的 ViewModel
中设置为变量。
(编辑:刚刚发现 由@Garry 在他已经包含上述内容的回答中提供)
在 ViewModel
中,您还可以使用 Zend Framework 的一些魔法。您可以使用 $getName
和 $postName
而不是 $this->getName
/$this->postName
。所以,打印做:
<?= $getName ?: 'No GET params given' ?>
<?= $postName ?: 'No POST params given' ?>
我使用的是 ZF3,我知道以下内容适用于控制器:
$this->params()->fromQuery('my_get_var', 'default_value');
$this->params()->fromPost('my_post_var', 'default_value');
如何获得这些观看次数? (当然,不直接访问超全局 $_GET 和 $_POST)
我假设它与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; ?>
查看我的回答
作为 return 访问和访问的替代方式,您可以使用提供的 "Zend magic"。
在控制器中,return 如此:
return [
'getName' => $this->params()->fromQuery('get_var', null),
'postName' => $this->params()->fromPost('post_var', null),
];
这里的神奇之处在于 ViewModel
是自动为您创建的。第二个神奇之处在于 returned 键在新创建的 ViewModel
中设置为变量。
(编辑:刚刚发现
在 ViewModel
中,您还可以使用 Zend Framework 的一些魔法。您可以使用 $getName
和 $postName
而不是 $this->getName
/$this->postName
。所以,打印做:
<?= $getName ?: 'No GET params given' ?>
<?= $postName ?: 'No POST params given' ?>