【问题标题】:how to set routing for the url with multiple parameters in symfony?如何在 symfony 中为具有多个参数的 url 设置路由?
【发布时间】:2012-06-22 10:10:29
【问题描述】:

我正在使用 symfony 1.0 并为以下几个 URL 设置了路由。

static_pages:
url: docs/:page.htm
param: { module: docs, action: index }

现在,我为另一种 URL 设置了路由。

URL is http://news4u.com/search/description/id/3/css/a/act/a

我已将路由设置如下

description:
url: /search/description/id/:id/css/:manu/act/:mgh
param: { module: search, action: description}

这是获取“css”和“act”值的正确格式吗?在 URL 缺少 css 参数的时候,我的意思是如果 url 如下:

http://news4u.com/search/description/id/3/css//act/a

-getRequestParameter('css') 的值显示为 'act' 并且 - getRequestParameter('act') 的值为空

所以,我尝试应用路由,如果有错误请纠正我。使用上面的路由配置,我没有得到想要的输出。

【问题讨论】:

标签: php symfony1 routing url-routing


【解决方案1】:

您不一定需要在 routing.yml 文件中指定“id”、“css”和“act”作为参数,除非您使用它们在 URL 中的存在来将用户发送到搜索模块和描述操作.

在您的 routing.yml 中使用以下规则仍然有效:

default:
  url:   /:module/:action/*

那你应该可以用了

url_for('search/description', array(
   'id' => 4, 
   'css' => 'something', 
   'act' => 'blah'
); 

生成这样的链接:/search/description/id/4/css/something/act/blah

【讨论】:

    猜你喜欢
    • 2013-11-29
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 2015-10-06
    • 2020-04-20
    相关资源
    最近更新 更多