嗨,我正在使用Zend框架,我需要在我的视图中构造一个url。通常在常规php代码中,我只是使用全局$ _GET来获取GET变量。但是,使用Zend,我将其设置为清除URI,所以:
?ac = list&filter = works&page = 2
看起来像index / ac / list / filter / works / page / 2
在我看来,我正在设置一个链接cs,这样,如果GET变量过滤器相等,则该链接的颜色将有所不同,它将指向仅这样链接的同一页面:
index / ac / list / filter / extra / page / 2
同样,我还有许多其他链接,所有这些链接都只有一个GET值-我该如何设置-我使用Zend框架...
要直接在视图中访问请求变量,您可以做:
Zend_Controller_Front::getInstance()->getRequest()->getParam('key');
但是正如其他人所说,这不是一个好主意。这可能更容易,但是请考虑其他选项:
如果您需要从视图访问GET参数,我认为您使用的是错误的方法。
我建议您使用所有参数设置一条路由,然后从视图中使用$this->url
来呈现有效和正确的网址。
有关更多信息,请查看以下博客文章(不,我不是作者):http://naneau.nl/2007/07/08/use-the-url-view-helper-please/
编辑:
如果您想'懒惰',则可以通过执行$this->view->param = $this->_getParam('param')
从控制器设置视图参数。然后,您可以通过执行param
从视图访问echo $this->param;
。但是,我不建议这样做。
您可以从控制器传递它:$this->view->page = $this->_getParam('page');
。
脚注:我同意@alexn。
我正在使用Zend Framework v1.11,并且我正在这样做
在Controller中>
中,您可以访问任何这样的请求参数$this->view->request = $this->_request;
然后在视图
<h3><?= $this->request->fullname ?></h3>