Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony 3,像全球控制器这样的东西?_Php_Symfony - Fatal编程技术网

Php Symfony 3,像全球控制器这样的东西?

Php Symfony 3,像全球控制器这样的东西?,php,symfony,Php,Symfony,我为这个问题的无代码性感到抱歉,但是否有一个全局控制器可以为每个网站页面启动 例如,在我90%的网站内容上,我希望有一个“最近的评论”提要,从数据库中打印所有最新的评论 我可以在哪个文件/函数中定义这样的功能而不必在每个控制器中打印它?Symfony中没有全局控制器preDispatch和postDispatch早就不存在了 现在一切都是通过事件来完成的 如果您想在控制器执行之前运行一些代码,您应该向kernel.controller事件添加一个侦听器。看 但是 就你而言,我认为没有必要这样做

我为这个问题的无代码性感到抱歉,但是否有一个全局控制器可以为每个网站页面启动

例如,在我90%的网站内容上,我希望有一个“最近的评论”提要,从数据库中打印所有最新的评论


我可以在哪个文件/函数中定义这样的功能而不必在每个控制器中打印它?

Symfony中没有全局控制器
preDispatch
postDispatch
早就不存在了

现在一切都是通过事件来完成的

如果您想在控制器执行之前运行一些代码,您应该向
kernel.controller
事件添加一个侦听器。看

但是


就你而言,我认为没有必要这样做。相反,您可以使用。将扩展设置为服务(具有所有依赖项)。在需要显示“最近评论”的地方调用它。我认为你的情况最合适。

我认为你的问题有点模棱两可,因为如果你要找的是一个全局控制器,那么请求侦听器可能是最好的选择,但在你为什么要这样做的例子中,请求侦听器意味着对每个请求都进行DB查询,我强烈建议使用ESI includes来解决这个问题,因为如果你想一想,你所尝试的实际上与Symfony per say没有多大关系,而更多的是与演示有关,所以试着从这个角度来解决它。

我对symphony不是很熟悉。但你可以做的一件事是制作你的全局控制器,并将其扩展到你的其他控制器。