首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在ZF2 / ZF3 url视图帮助器中添加查询参数

如何在ZF2 / ZF3 url视图帮助器中添加查询参数
EN

Stack Overflow用户
提问于 2012-10-08 23:54:11
回答 2查看 30.6K关注 0票数 21

我正在尝试使用路由创建一个带有查询字符串的url,如下所示:

代码语言:javascript
复制
$this->url('users') -> /users
$this->url('users', ['sort' => 'desc']) -> /users?sort=desc

然而,这似乎不起作用(第二个帮助器实际上输出/users)。根据此unofficial, out-of-date documentation,曾经有一种方法可以通过将/query附加到路由名称来实现此目的,但是这会产生一个找不到路由的异常。

使用当前的url helper可以做到这一点吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-09 02:22:59

您可以为用户路由创建子路由,如下所示:

代码语言:javascript
复制
'users' => array(
    'type' => 'Literal',
    'options' => array(
        'route' => '/users',
        'defaults' => array(
            '__NAMESPACE__' => 'User\Controller',
            'controller' => 'Index',
            'action' => 'list',
        ),
    ),
    'may_terminate' => true,
    'child_routes'  => array(
        'query' => array(
            'type' => 'Query',
        ),
    ),
),

然后就可以组装$this->url('users/query', array('sort' => 'desc'))了。

不要忘记将may_terminate设置为true

票数 10
EN

Stack Overflow用户

发布于 2015-05-23 00:10:13

这可以使用当前的URL视图助手yes来完成。

代码语言:javascript
复制
$this->url('users', [], array('query' => array('sort' => 'desc')))

您不需要设置查询字符串子路由。只要你为'users‘设置了一个路由,你就可以在你的控制器中查找'sort’参数,并在需要的地方使用它。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12785190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档