dsjswclzh40259075 2016-12-18 18:23
浏览 38
已采纳

Symfony 3,这样的全局控制器?

I'm sorry for the code-less-ness of this question but is there like a global controller that fires for every website page?

Like for instance on 90% of my websites content I want to have a "recent comments" feed printing all the latest comments from the database.

In which file/function could I define such functionality without having to print it in every controller?

  • 写回答

2条回答 默认 最新

  • douluoxiao2286 2016-12-18 21:45
    关注

    There is no such thing as a global controller in Symfony. preDispatch and postDispatch are gone long time ago.

    Nowadays everything is done with events.

    If you want to run some code before the controller is executed you should add a listener to kernel.controller event. See details about events in Symfony documentation.

    This is the detailed explanation how to do it.

    But...

    In your case I don't think it is needed to do this. Instead you can use Twig Etensions. Set up the extension as a service (with all dependencies). Call it in the place where you need to show "recent comments". I think that in your case Twig Functions fits the best.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 socket通信实现多人聊天室疑惑
  • ¥15 DEV-C++编译缺失
  • ¥33 找熟练码农写段Pyhthon程序
  • ¥100 怎么让数据库字段自动更新
  • ¥15 antv g6 力导向图布局
  • ¥15 quartz框架,No record found for selection of Trigger with key
  • ¥15 锅炉建模+优化算法,遗传算法优化锅炉燃烧模型,ls-svm会搞,后面的智能算法不会
  • ¥20 MATLAB多目标优化问题求解
  • ¥15 windows2003服务器按你VPN教程设置后,本地win10如何连接?
  • ¥15 求一阶微分方程的幂级数