Symfony2 - 在控制器中加载所有路由(不重建缓存)

时间:2018-03-20 15:58:04

标签: php symfony controller routes symfony-forms

我正在尝试创建一个包含Module字段的Symfony表单,其中包含当前可用的所有路由。此表单的目的是将这些路由添加到后端的模块中。我已经创建了RouteRouter#getRouteCollection()实体。这些用于为在特定模块上工作的用户呈现正确的导航结构。

我在表单控制器中使用了getRouteCollection(),在页面的每个请求上都使用了路由cache will be rebuild

我在考虑使用此方法的命令,并将所有路由添加到数据库中。但是,这意味着每次添加路由时,也需要执行此命令。对于这么简单的任务来说,这似乎太过分了。

在控制器中加载这些路径的最佳做法是什么?并且可以在没有的情况下这样做:

  • 使用getRouteCollection()
  • 时,为每个请求重建缓存
  • 每次将路线添加到集合
  • 时执行额外命令
  • 创建使用innerHTML的控制器并将结果保存在会话,缓存等中。

感谢您和我一起思考。

亲切的问候

1 个答案:

答案 0 :(得分:0)

我不确定您需要此路由的用例,但另一个问题是您可能不希望在路由列表中有路由,因为它们是来自探查器或AJAX路由的路由。因此,更好的方法是在数据库表中维护自己的路由列表,用户可以在其中进行选择。