我需要创建一个动态路由方案,我在路由前面添加一个变化的变量。
以下是一个例子:
Application Base Route:/ dashboard /
场景A:/ client_a / dashboard /
场景B:/ client_b / dashboard /
场景C:/ client_c / dashboard /
我们的想法是保持应用程序核心代码完全相同,但允许在路由中引用不同的客户端。
设置此选项的最佳做法是什么?我可以在routing.yml中添加静态前缀,但除非可以动态设置“prefix: /myparameter
”,否则这可能对我不起作用。主要原因是现有的Symfony2应用程序非常复杂。
如果我使用/{client_name}/dashboard/
,我将不得不更改应用程序中的所有路径,因为现在路由中缺少其他参数。所以,我正在寻找一种解决方案,允许我在不必触及应用程序主代码的情况下改进现有应用程序。
谢谢,
JB
答案 0 :(得分:0)
@ Jakub的评论基本上是正确的。但是,如果在我的情况下,现有的Symfony应用程序必须针对这一新要求进行改装,那么这非常繁琐。 Symfony中的安全实现还存在一个问题,即Symfony需要login,login_check和logout方法的静态路径。因此,目前似乎不支持在这些场景中使用前缀。