【问题标题】:Where the common logic for all controllers should be placed in Symfony?Symfony 中所有控制器的通用逻辑应该放在哪里?
【发布时间】:2017-04-29 22:19:01
【问题描述】:

例如,所有页面上显示的登录用户信息(在 base.html.twig 中)。

【问题讨论】:

  • 应该将可重用的逻辑放入类中,然后将它们配置为服务。最具体但可重用的部分应该是您需要它的点中的实例,并将所需的服务传递给它们。我这样做是为了避免获得一个巨大的依赖容器。只是个人意见。
  • 没有。对于 symfony,它只有一定的正确答案。这里是:symfony.com/doc/2.8/templating/embedding_controllers.html 如果您是该领域的专家,您就会知道。对不起,你错了。为什么类似的问题可以,但这个不行?大声笑stackoverflow.com/questions/33005685/…stackoverflow.com/questions/31966321/…(与任何框架无关)stackoverflow.com/questions/17453204/…
  • 我之前的评论与@gp_sflover 相关
  • @Carlos 我同意。然而,嵌入动作结果是一个很好的推荐做法。请看上面的链接:)
  • @Alexander 您的链接问题与 Symfony 无关,但清楚地展示了如何添加一些必要的上下文以使问题更有用和更切题(按照 SO 规则的要求 i>) 并且只需阅读此问题的标题即可了解差异。如果不描述一个特定的用例,给出一个像下面这样的答案是没有用的,只有一个链接,即使没有实现示例,不存在解决任何问题的独特方法。 PS:在 Symfony 中有很多方法可以创建任务,并且需要考虑许多变量来决定以哪种方式解决它。

标签: symfony templates model-view-controller controller


【解决方案1】:

很好的解决方案是将控制器(动作)结果嵌入到模板中: https://symfony.com/doc/current/templating/embedding_controllers.html

【讨论】:

    猜你喜欢
    • 2015-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-18
    • 2014-10-26
    • 2012-07-16
    • 1970-01-01
    • 2012-03-28
    相关资源
    最近更新 更多