symfony 2.8和FOSUserBundle用户的permaurl

时间:2016-08-16 17:13:03

标签: php symfony doctrine fosuserbundle

我正在使用symfony 2.8.6。和FOSUserBundle建立一个非常简单的网站。 有一条“/”显示我的HomeController的路由,我想知道是否可以将“/ username”转到显示相应用户的ProfileControler。如何配置路由?它甚至可以在根网址中,还是必须是“/ user / username”这是丑陋的......

到目前为止,FOSUserBundle允许用户名中的各种字符,这与用户名不太相容。因此,在用户创建时,我将不得不为用户名创建唯一的perma-url。我该怎么做呢?我如何检查数据库中permaurl的唯一性?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果您使用用户名作为网址的一部分,则FosUserBundle和数据库会关注重复项,因此您无需关心。

要创建公共部分,您可以使用HomeController和@Route注释和/ {username}密码,或者在routing.yml中配置模式,如文档中所示。

这很快就会让人头疼,因为这个模式几乎可以捕获/ about-us之类的东西,并且会在数据库中查找它,所以我建议你转移到像/ users / {username}这样的“部分”很难看。

如果要避免这种情况,则必须使用在routing.yml文件中配置路由的顺序。模式越具体,它应该越早出现在yml文件中