我想拦截所有控制器动作并做两件事之一(取决于一个选项 - 对于这个例子,说 URL 中的一个查询字符串值):
(1) 返回一个仅包含变量的数组,而不是渲染模板
(2) 准确渲染模板,但忽略该模板内的任何“扩展”操作
这样做的原因是使用相同的服务器端代码,选项 1 允许我只返回 Ajax 请求的变量,选项 2 允许我只返回 HTML 的内容部分(对于 Ajax)而不是完整的带有导航等的 HTML
我尝试过扩展一个控制器,但一直遇到烦人的“与 Symfony\Bundle\FrameworkBundle\Controller\Controller 不匹配”的问题。
我试过使用事件监听器,这似乎让我更接近,但我不认为监听控制器事件实际上运行控制器。
我确定这应该很容易?