我从这个book学习ZF3,我遇到了这个:
在我的控制器中,我可以像这样在ZF3中获得$ _GET [' var_name']:
<div id="tttssss" style="display:none;">
<div id="upload-demo">
</div>
<div style="width:70%;margin: 0 auto;">
<a class="btn btn-success upload-result" rel="<?php //echo $imge['User']['id'] ?>">Upload Image</a>
</div>
</div>
<?php echo $this->Html->image($fileuser, array('class' => 'img-circl', 'id' => 'user-select-image', 'style' => 'margin-top:30px!important;')); ?>
<?php echo $this->Form->file('User.profile_img', array('id' => 'my_file', 'style' => 'display:none;')); ?>
或者这样:
$request = $this->getRequest();
$request->getQuery('var_name');
两者之间的区别是什么? (重述问题:为什么有两种方法可以做同样的事情?)。在特定情况下,是否优先于另一个?
答案 0 :(得分:3)
数据是请求的一部分,因此它就是在请求对象中保存的原因。 params控制器插件(您的第二个示例)提供了一种更简洁的方式来访问此数据,因此您应该使用它来从控制器访问数据。
答案 1 :(得分:2)
$this->params()->fromQuery('var_name');
此处$this->params()
是控制器插件,您只能在控制器中使用它。
但是
$request = $this->getRequest();
$request->getQuery('var_name');
您可以访问任何类的请求,如下所示 -
$request = new Request();