繁体   English   中英

如何在Symfony2中实现动态路由?

[英]How to implements dynamic routes in Symfony2?

我们有一个建立在symfony2之上的CMS系统,当您想使用友好的URL slug作为实体标识符来实现与每个CMS系统类似的行为时,我一直在努力解决路由问题。

假设我有多个捆绑包,每个捆绑包都照顾他们的东西和实体。 如何将自己的控制器与动态路由参数段一起使用?

例如,我有一个基本的子控制器,其路由“ / {_ slug} /”的优先级最低。 因此,它可以在已知的存储库中按实体找到实体,但是这种解决方案并不灵活。 而且这也是一种降级的控制器,因为现在您只有一个主控制器,而不是将逻辑分配给每个捆绑软件的每个控制器。

我发现了解决此问题的几种方法。

  1. 从数据库加载路由-性能稍差,没有缓存的路由
  2. 添加路由的动态加载程序-代码过多,对子弹的控制更差
  3. 自定义路由器,将在symfony核心CMF路由器之前使用-到目前为止,我已经找到了有关此解决方案的一些信息

我发现了几个主题,试图解决这个问题:

如果您还没有的话,我建议您看一下Symfony CMF项目中包含的RoutingBundle中的“ 动态路由器 ”。

由于CMF项目是关于在Symfony之上构建CMS功能,因此我认为这可能满足您的需求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM