我想拦截所有控制器操作并执行以下两项操作之一(取决于选项 - 对于此示例,请说明URL中的查询字符串值):
(1)返回仅包含变量的数组,而不是渲染模板
(2)完全渲染模板,但忽略该模板中的任何“扩展”操作
这样做的原因是使用相同的服务器端代码,选项1允许我只返回变量来表示Ajax请求,而选项2允许我只返回HTML的内容部分(对于Ajax)而不是而不是带导航等的完整HTML。
我已经尝试过扩展控制器,但仍然让人讨厌'与Symfony \ Bundle \ FrameworkBundle \ Controller \ Controller'问题不匹配。
我尝试过使用事件监听器,这似乎让我更接近,但我不认为听控制器事件实际上会运行控制器。
我确定这应该很容易吗?
答案 0 :(得分:1)
为此,您可以使用FOSRestBundle或仅使用其部件。
来自README.md:
用于启用输出和格式无关控制器的视图层