Symfony2 - 在控制器中加载所有路由(无需重建缓存)
Symfony2 - Load all routes in controller (without rebuilding cache)
我正在尝试创建一个带有 ChoiceType
字段的 Symfony 表单,其中包含当前可用的所有路由。此表单的目的是将这些路由添加到我们后端的模块中。我已经创建了 Module
和 Route
实体。这些用于为使用特定模块的用户呈现正确的导航结构。
我在表单控制器中使用了 Router#getRouteCollection()
,在对页面的每个请求中使用此路由 cache will be rebuild。
我正在考虑一个使用这种方法并将所有路由添加到数据库的命令。然而,这意味着每次添加路由时,也需要执行此命令。对于这样一个简单的任务来说,这似乎有点过头了。
在控制器中加载这些路由的最佳做法是什么?如果没有:
是否可以做到这一点
- 使用
getRouteCollection()
时每个请求重建缓存
- 每次将路由添加到集合时执行额外的命令
- 创建一个使用
getRouteCollection()
的控制器并将结果保存在会话、缓存等中
谢谢你和我一起思考。
亲切的问候
我不确定 use-case 你需要这条路线是为了什么,但另一个问题是你可能不希望在你的路线列表中有一些路线,因为它们是例如来自探查器的路线或 AJAX 路线。因此,更好的方法可能是在数据库 table 中维护您自己的路线列表,用户可以从中做出选择。
我正在尝试创建一个带有 ChoiceType
字段的 Symfony 表单,其中包含当前可用的所有路由。此表单的目的是将这些路由添加到我们后端的模块中。我已经创建了 Module
和 Route
实体。这些用于为使用特定模块的用户呈现正确的导航结构。
我在表单控制器中使用了 Router#getRouteCollection()
,在对页面的每个请求中使用此路由 cache will be rebuild。
我正在考虑一个使用这种方法并将所有路由添加到数据库的命令。然而,这意味着每次添加路由时,也需要执行此命令。对于这样一个简单的任务来说,这似乎有点过头了。
在控制器中加载这些路由的最佳做法是什么?如果没有:
是否可以做到这一点- 使用
getRouteCollection()
时每个请求重建缓存
- 每次将路由添加到集合时执行额外的命令
- 创建一个使用
getRouteCollection()
的控制器并将结果保存在会话、缓存等中
谢谢你和我一起思考。
亲切的问候
我不确定 use-case 你需要这条路线是为了什么,但另一个问题是你可能不希望在你的路线列表中有一些路线,因为它们是例如来自探查器的路线或 AJAX 路线。因此,更好的方法可能是在数据库 table 中维护您自己的路线列表,用户可以从中做出选择。