【问题标题】:How to retrieve an url parameter in the Zend Framework?如何在 Zend Framework 中检索 url 参数?
【发布时间】:2011-02-04 18:06:12
【问题描述】:

我正在尝试使用 zend 框架检索在 url 中传递的参数。但是,当然,它不起作用! 我的代码如下所示:

生成网址:

<?php echo $this->url(array('controller' => 'poll', 'action' => 'showresults', 'poll_id' => $poll['_id']), null, true) ?>

在 showresultsAction() 中检索“poll_id”参数:

 $request = new Zend_Controller_Request_Http();
 $poll_id = $request->getParam('poll_id');

问题是$poll_id 是NULL。当我执行 $request->getParams() 的 var_dump 时,它也是 NULL。我浏览了 Zend Framework 文档,但它不是很有用。任何想法 ?谢谢!

【问题讨论】:

  • 如果您需要从控制器外部获取请求对象,您可以随时执行 Zend_Controller_Front::getInstance()->getRequest()

标签: php zend-framework url-rewriting parameter-passing


【解决方案1】:

尝试让控制器参与进来:

$params = $this->params()->fromQuery();

它返回所有 URL 参数。

【讨论】:

    【解决方案2】:

    代替:

    $request = new Zend_Controller_Request_Http();
    $poll_id = $request->getParam('poll_id');
    

    试试:

    $request = $this->getRequest(); //$this should refer to a controller
    $poll_id = $request->getParam('poll_id');
    

    或者:

    $poll_id = $this->_getParam('poll_id'); //$this should refer to a controller
    

    Zend 框架自动将请求对象附加到控制器。

    【讨论】:

    • 好收获!现在想想,我想第二次实例化它是个坏主意。 >.> [thwaps self]
    猜你喜欢
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 2013-12-21
    • 2012-11-07
    • 1970-01-01
    相关资源
    最近更新 更多