【问题标题】:regular querystring in Zend framework controllerZend 框架控制器中的常规查询字符串
【发布时间】:2012-11-29 03:51:21
【问题描述】:

我正在使用 Zend 框架,它会进行 URL 重写 但我想在控制器中处理常规查询,获取请求 像这样 transactionsExternal.phppage=1&start=0&limit=100&sort=threadid&dir=ASC&callback=Ext.data.JsonP.callback1

谁能告诉我如何在控制器中获取这个 GET 请求变量?考虑到 Zend 阻止我使用像 $_GET[something] 这样的变量 $this->getRequest()->getParams();也没有返回任何东西

【问题讨论】:

    标签: php model-view-controller zend-framework controller query-string


    【解决方案1】:

    ZF 不会阻止您使用$_GET,尽管不鼓励这样做。 $this->getRequest()->getParam('start')$this->getRequest()->getParams() 将为您提供 GET 参数。因此,如果这对您不起作用,则其他地方会出现问题。

    “transactionsExternal.php”肯定是您的 ZF 应用程序的一部分吗?

    【讨论】:

    • 我无法在我的控制器中获取 $_GET 值和 $this->getRequest()->getParams() 。 localhost/transactions/view?callback=tt 这是控制器,似乎可以工作,还有什么原因?
    • 如果 localhost/transactions/view?callback=tt 是一个控制器并且可以工作,那么 transactionsExternal.php 会转到控制器吗?
    • 我的意思是当请求是这样的时候我可以得到参数 /transactions/json/id/9
    • 但是当它像这样 transactions/json/?id=9 我无法得到
    【解决方案2】:

    您的控制器和操作是如何设置的?

    Zend Framework 1 使用键/对值来获取参数。因此,您可能有一个事务控制器和一个 get 操作。请求看起来像这样:

    domain.com/transactions/get
    

    要附加和 ID GET 参数,您可以这样做:

    domain.com/transactions/get/id/10
    

    然后在您的控制器操作中,您将执行以下操作来获取 id 值:

    $request = $this->getRequest();
    $request->getParam('id');
    

    【讨论】:

    • 我知道zend是如何工作的.data.JsonP.callback1
    猜你喜欢
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多