【问题标题】:How to implements dynamic routes in Symfony2?如何在 Symfony2 中实现动态路由?
【发布时间】:2015-10-17 07:54:28
【问题描述】:

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

假设我有多个捆绑包,每个捆绑包都负责处理自己的东西和实体。如何使用他们自己的控制器和动态路由参数 slug?

例如,我有一个基础 slug 控制器,其路由“/{_slug}/”的优先级最低。因此它可以通过 slug 在知道的存储库中找到实体,但是这种解决方案并不灵活。而且它还降低了控制器的性能,因为现在您只有一个主控制器,而不是将逻辑延迟到每个捆绑包的每个控制器。

我发现了解决这个问题的几个想法。

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

我找到了几个主题,试图解决这个问题:

【问题讨论】:

标签: php symfony routing


【解决方案1】:

如果您还没有,我建议您查看 Symfony CMF 项目中包含的 RoutingBundle 中的“Dynamic Router”。

由于 CMF 项目是关于在 Symfony 之上构建 CMS 功能,我认为它可能符合您的需求。

【讨论】:

    猜你喜欢
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多