我为基于Symfony2,Doctrine等的小型项目管理工具创建了一个后端。
我有一些输出,每个页面都相同,如用户列表,日志列表。所有这些东西都在每一页上输出。
目前我在每个控制器中都有输出它的代码。所以我的每个控制器都有一个相同的代码。模板中的内容也一样。
是否有可能超出这些代码片段?
我希望将这些经常重复的部分放在一个文件中 - 将PHP代码放在一个文件中,例如"全局函数"和twig的东西可能在父模板中,如base.html.twig模板。
我如何管理它以在我的代码中获得某种整理?
提前感谢您的帮助,
马文
答案 0 :(得分:1)
可能另一种方法是创建TwigExtension并创建一个函数,并在模板中使用它们(
)twig中的最终代码:
<div>
{{ userlists() }}
or
{{ userlogs() }}
</div>
答案 1 :(得分:0)
就像在best practices for Symfony2中所说的那样,控制器应该尊重模式 facade 。这意味着您的所有业务代码都不应该在您的控制器中。你会问我:&#34;那么在哪里?&#34;。
Symfony2提供了一种开发大型OOP架构的好方法,这要归功于它的依赖注入机制。它使用services(模式SOA)。您应该为业务代码的每个技术/功能可识别部分使用一个服务。依赖注入可以帮助您保持低耦合类,以便拥有更可维护,可扩展和可测试的应用程序。
我认为您已经在控制器中使用了这样的服务:
$this->get('doctrine');