我试图创建一个可扩展的cms。我的数据库中有URL,如" / menu-item / content"对于每个URL,都有一个以格式" AcmeDemoBundle:Default:index"指定的动作。 我想解决此操作并根据匹配的URL调用相应的控制器。
我的主要目标是直接调用存储在数据库中的控制器。在我使用一种方法之前,当我在路由的末尾放置一个匹配所有url的路由时,将控制器与从db中找到目标控制器的控制器相关联,而不是使用Controller :: forward()来获得预期的结果。这种方法的主要问题是我需要为每个页面加载创建一个不必要的子请求。另一个问题是将post变量传递给这个新的子请求。
到目前为止,我已尝试侦听kernel.request事件并修改$ request->属性以包含匹配的_controller值,但似乎它没有效果。
对此主题的任何建议表示赞赏。