ZF3:$request->getQuery('my_var') vs $this->params()->fromQuery('var_name')?
ZF3: $request->getQuery('my_var') vs $this->params()->fromQuery('var_name')?
我正在从这个 book 学习 ZF3,我遇到了这个:
在我的控制器中,我可以像这样在 ZF3 中获取 $_GET['var_name']:
$request = $this->getRequest();
$request->getQuery('var_name');
或者这样:
$this->params()->fromQuery('var_name');
两者有什么区别? (重新表述问题:为什么有两种方法可以做同样的事情?)。在特定情况下,一个比另一个更受欢迎吗?
数据是请求的一部分,因此它保存在请求对象中。 params 控制器插件(您的第二个示例)提供了一种更简洁的方式来访问此数据,因此您应该使用它来从控制器访问数据。
$this->params()->fromQuery('var_name');
这里$this->params()
是controller插件,只能在controller中使用。
但是
$request = $this->getRequest();
$request->getQuery('var_name');
您可以访问来自任何 class 的请求,如下所示-
$request = new Request();
我正在从这个 book 学习 ZF3,我遇到了这个:
在我的控制器中,我可以像这样在 ZF3 中获取 $_GET['var_name']:
$request = $this->getRequest();
$request->getQuery('var_name');
或者这样:
$this->params()->fromQuery('var_name');
两者有什么区别? (重新表述问题:为什么有两种方法可以做同样的事情?)。在特定情况下,一个比另一个更受欢迎吗?
数据是请求的一部分,因此它保存在请求对象中。 params 控制器插件(您的第二个示例)提供了一种更简洁的方式来访问此数据,因此您应该使用它来从控制器访问数据。
$this->params()->fromQuery('var_name');
这里$this->params()
是controller插件,只能在controller中使用。
但是
$request = $this->getRequest();
$request->getQuery('var_name');
您可以访问来自任何 class 的请求,如下所示-
$request = new Request();