【问题标题】:ZF2 - set and get params from routeZF2 - 从路线设置和获取参数
【发布时间】:2014-06-23 15:24:35
【问题描述】:

我的模块配置中有以下路线:

/home[/:action][/:id][/:page][/:service][/:sort]

当我尝试跳过一些参数(例如页面和/或服务)并仅传递排序变量时,它被设置为页面。那条路线完美无缺:

home/index/1/1

我得到:

action = index
page = 1
service = 1

但是当我跳过一些参数,只想传递动作和排序时:

home/index/asc

我明白了:

action = index
page = asc

我这样创建我的链接:

$this->url(null, array('sort' => $sort), array(), true);

有什么正确的方法可以按照我的意愿正确执行吗?

在 ZF 中这要容易得多,因为它是 url 之类的:index/sort/asc 等参数的键和它的值。在ZF2中可以实现吗?

【问题讨论】:

  • $this->url('name_of_your_route', array('sort' => $sort), array(), true);
  • @Chu Khanh Van:不。最后一个参数 - true - 给出路线名称。
  • 我认为始终包含路线名称的好习惯,但这不是这里的问题。您对定义中的路由参数有任何限制吗?

标签: php zend-framework2


【解决方案1】:

在路由中使用可选参数时,它们需要有一个名称或包含在另一个可选参数中:

'/home[/:action[/id/:id][/page/:page][/service/:service][/sort/:sort]]'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-20
    • 2018-03-09
    • 2013-04-16
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多