我想拦截所有控制器动作并做两件事之一(取决于一个选项-在本例中说URL中的查询字符串值):
(1)返回一个仅包含变量的数组,而不是呈现模板
(2)准确地呈现模板,但忽略模板中的任何'extends'动作
这样做的原因是使用相同的服务器端代码,选项1允许我只返回变量,比如Ajax请求,选项2允许我只返回HTML的内容部分(对于Ajax),而不是完整的HTML与导航等。
我已经尝试扩展一个控制器,但一直得到烦人的'不匹配与Symfony'Bundle'FrameworkBundle' controller ' controller '问题。
我试过使用事件监听器,这似乎让我更接近,但我不认为监听控制器事件实际上运行控制器。
我相信这应该很容易?
您可以使用FOSRestBundle或仅使用其部分来实现此目的。
README。md:
https://github.com/FriendsOfSymfony/FOSRestBundle支持输出和格式无关控制器的视图层