没有前缀的 Symfony2 路由
Symfony2 routing without prefix
在我的 Symfony 项目中,我有:
- example.com/用户/用户名 => 转到用户个人资料
- example.com/blog/theweathertoday => 转到动态页面 post 博客
- example.com/whoarewe => routig.yml
中定义的静态页面
我想实现:
- 示例。com/username => 转到用户个人资料
- 示例。com/theweathertoday => 转到动态页面 post 博客
- 示例。com/whoarewe => 静态页面
你能告诉我最好的方法是什么吗:
- 将用户与网站页面的博客文章分开? (控制器、服务、...?)
- 如何确保用户没有使用受限名称注册,例如 routing.yml 中定义的“whoarewe”?
最好的方法是什么?
更改示例。com/user/username 更改为示例。com/username 我认为您只需删除 之一中的 /user routing.yml 个文件。与 /博客 相同。这些文件可以在 Resources/config 目录或 app/config 目录中的 Bundle 目录下找到。
routing.yml
文件只是加载路由的一种方式,但还有many other ways. One way, which you may need, is a custom route loader.
由于路由加载器被定义为服务,您可以将其他服务注入其中,例如用户名检查器,它也可以被应用程序中验证新用户注册的部分重新使用。
如果不这样做,您需要将匹配 ^/[^/]+
的所有流量路由到某种中间前端控制器,该控制器将采用匹配的参数并决定如何转发它。
您的问题的完整答案需要大量工作,但希望这能让您朝着正确的方向开始。
在我的 Symfony 项目中,我有:
- example.com/用户/用户名 => 转到用户个人资料
- example.com/blog/theweathertoday => 转到动态页面 post 博客
- example.com/whoarewe => routig.yml 中定义的静态页面
我想实现:
- 示例。com/username => 转到用户个人资料
- 示例。com/theweathertoday => 转到动态页面 post 博客
- 示例。com/whoarewe => 静态页面
你能告诉我最好的方法是什么吗:
- 将用户与网站页面的博客文章分开? (控制器、服务、...?)
- 如何确保用户没有使用受限名称注册,例如 routing.yml 中定义的“whoarewe”?
最好的方法是什么?
更改示例。com/user/username 更改为示例。com/username 我认为您只需删除 之一中的 /user routing.yml 个文件。与 /博客 相同。这些文件可以在 Resources/config 目录或 app/config 目录中的 Bundle 目录下找到。
routing.yml
文件只是加载路由的一种方式,但还有many other ways. One way, which you may need, is a custom route loader.
由于路由加载器被定义为服务,您可以将其他服务注入其中,例如用户名检查器,它也可以被应用程序中验证新用户注册的部分重新使用。
如果不这样做,您需要将匹配 ^/[^/]+
的所有流量路由到某种中间前端控制器,该控制器将采用匹配的参数并决定如何转发它。
您的问题的完整答案需要大量工作,但希望这能让您朝着正确的方向开始。