使用 symfony 2.8 和 FOSUserBundle 的用户的 permaurl

permaurl for users with symfony 2.8 and FOSUserBundle

我正在使用 symfony 2.8.6。和 FOSUserBundle 来设置一个非常简单的网站。 “/”有一条路线可以显示我的 HomeController,我想知道是否可以让“/username”转到显示适当用户的 ProfileControler。路由必须如何配置?它甚至可以在根 url 中还是必须是“/user/username”,这很丑...

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

感谢您的帮助。

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

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

这很快就会令人头疼,因为此模式将捕获几乎所有类似 /about-us 的内容,并会在数据库中查找它,因此我建议您转移到 "section",例如 /users/ {username} 甚至很丑。

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