我正在使用symfony 2.8.6。和FOSUserBundle建立一个非常简单的网站。 有一条“/”显示我的HomeController的路由,我想知道是否可以将“/ username”转到显示相应用户的ProfileControler。如何配置路由?它甚至可以在根网址中,还是必须是“/ user / username”这是丑陋的......
到目前为止,FOSUserBundle允许用户名中的各种字符,这与用户名不太相容。因此,在用户创建时,我将不得不为用户名创建唯一的perma-url。我该怎么做呢?我如何检查数据库中permaurl的唯一性?
感谢您的帮助。
答案 0 :(得分:1)
如果您使用用户名作为网址的一部分,则FosUserBundle和数据库会关注重复项,因此您无需关心。
要创建公共部分,您可以使用HomeController和@Route注释和/ {username}密码,或者在routing.yml中配置模式,如文档中所示。
这很快就会让人头疼,因为这个模式几乎可以捕获/ about-us之类的东西,并且会在数据库中查找它,所以我建议你转移到像/ users / {username}这样的“部分”很难看。
如果要避免这种情况,则必须使用在routing.yml文件中配置路由的顺序。模式越具体,它应该越早出现在yml文件中