Symfony为mydomain.com/parameter创建路由

时间:2015-09-23 13:26:49

标签: php symfony

我需要在Symfony中创建一个路由规则,以接收一个参数作为域之后的第一个值。

我的意思是,www.mydomain.com / myusername

用户名是一个显示用户个人资料的变量。

在某些情况下,Symfony是否有可能确定需要将其视为变量(动态),而在其他情况下,它需要遵循/ controller / action的正常情况?

2 个答案:

答案 0 :(得分:0)

我不完全确定你所指的版本是什么,但在Symfony 2中可能存在这种冲突的路由。你应该做的是在app/config/routing.yml的最底部添加你的路由。顺序很重要,因为在Symfony中,第一条匹配的路线总是如docs

中所述的那样获胜
  

Symfony路由器将始终选择它找到的第一个匹配路由。

所以,通过让所有其他路线之前 domain.com/*的匹配路线,其他所有路线都应该正常工作。

但是,我必须说,这不是最佳实践,因为维护和调试通常更难。此外,如果您有很多路线,您的请求需要相当长的时间才能完成,因为它会通过所有路线,直到它与最后一条路线匹配。

答案 1 :(得分:0)

将参数添加为可选参数,例如:

public functionName($parameter = null)
{
    if($parameter = null)
    { //render regular view }
    else
    { //render user profile view}
}

希望我的问题是正确的 干杯