0

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

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

我将有多个开发人员参与该项目,老实说,如果我可以让他们在我配置项目后编写非常少量的 conde,那将是非常棒的。

前任:

<!-- 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>

我考虑这样做的另一种方法是构建一个扩展控制器类的类,并具有将为其他开发人员处理此代码的函数,他们可以在渲染模板时调用它们。

你会怎么处理这个?再一次,我绝不是一个经验丰富的 Symfony 开发人员,所以我更多地关注最佳实践以及是否有可能。

4

1 回答 1

0

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

http://knpuniversity.com/screencast/question-answer-day/symfony2-users-menu-cms#menus

祝你好运=)

于 2013-07-12T04:19:55.587 回答