我试图使用路由来创建一个查询字符串的URL,就像这样:
$this->url('users') -> /users
$this->url('users', ['sort' => 'desc']) -> /users?sort=desc
然而,这似乎并没有工作(第二个辅助实际上输出/users
)。 根据这一非官方的,出的最新文档曾经有一个方式通过附加做到这一点/query
到路由的名字,然而,这给出了一个路由未发现异常。
这可以使用当前网址助手做什么?
我试图使用路由来创建一个查询字符串的URL,就像这样:
$this->url('users') -> /users
$this->url('users', ['sort' => 'desc']) -> /users?sort=desc
然而,这似乎并没有工作(第二个辅助实际上输出/users
)。 根据这一非官方的,出的最新文档曾经有一个方式通过附加做到这一点/query
到路由的名字,然而,这给出了一个路由未发现异常。
这可以使用当前网址助手做什么?
您可以为您的用户喜欢这条路子路线:
'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
!
由于2.1.4版本中,你遇到用户错误
查询路由弃用ZF 2.1.4的; 使用HTTP路由器\的组装方法的“查询”选项,而不是
用法示例:
$name = 'index/article';
$params = ['article_id' => $articleId];
$options = [
'query' => ['param' => 'value'],
];
$this->url($name, $params, $options);
这可以使用当前的URL视图助手是来完成。
$this->url('users', [], array('query' => array('sort' => 'desc')))
你并不需要有查询字符串子路由设置。 只要你有一个路径设置为“用户”,你可以只认准“排序” PARAM在你的控制器,并使用在需要。