Inheritance 使用细枝基页继承的Symfony2

Inheritance 使用细枝基页继承的Symfony2,inheritance,symfony,twig,Inheritance,Symfony,Twig,我正在评估我是否想在接下来的项目中使用symfony2和twig,我对symfony2/twig世界非常陌生,主要是一个接一个地构建我们每个站点的框架。我的主要问题是,如果我使用的是一个基本的小树枝模板,我的所有页面都是从中继承的,那么这个基本页面有可能拥有自己的控制器吗?以及子页面是否有自己的控制器 例如,如果标题有一些动态内容,逻辑永远不会改变,我就不需要在每个页面的前端控制器中替换这些逻辑,但是内容块将在前端控制器中生成 我将有多个开发人员在这个项目上,老实说,如果我能让他们在我配置项目后

我正在评估我是否想在接下来的项目中使用symfony2和twig,我对symfony2/twig世界非常陌生,主要是一个接一个地构建我们每个站点的框架。我的主要问题是,如果我使用的是一个基本的小树枝模板,我的所有页面都是从中继承的,那么这个基本页面有可能拥有自己的控制器吗?以及子页面是否有自己的控制器

例如,如果标题有一些动态内容,逻辑永远不会改变,我就不需要在每个页面的前端控制器中替换这些逻辑,但是内容块将在前端控制器中生成

我将有多个开发人员在这个项目上,老实说,如果我能让他们在我配置项目后编写很少的conde,那将是非常棒的

例:


{%block headerBlock%}{%endblock%}
{%block bodyBlock%}{%endblock%}
{%block footerBlock%}{%endblock%}
我考虑过的另一种方法是构建一个扩展控制器类的类,并拥有一些函数,这些函数将为其他开发人员处理这些代码,他们可以在呈现模板时调用这些函数


你会怎么处理?再一次,我决不是一个经验丰富的Symfony开发人员,所以如果可能的话,我会更多地关注最佳实践

最好的方法是使用DI容器,例如,如果您想创建复杂菜单,可以使用KNPLAB/KnpMenuBundle,创建MenuBuilder,并在需要时从controller使用它。在这里,您可以找到更多示例:

好运=)

<!-- Very Simplified example:baseTemplate -->
<body>
    <div id="headerContainer">
         {% block headerBlock %}{% endblock %}
    </div>
    <div id="bodyContainer">
         {% block bodyBlock %}{% endblock %}
    </div>
    <div id="footerContainer">
         {% block footerBlock %}{% endblock %}
    </div>
 </body>