Symfony2中包含,使用和扩展的主要区别是什么?

时间:2016-05-13 06:06:50

标签: php symfony frameworks

我正在学习Symfony2开发框架,但找不到任何正确的解释。

以示例解释非常有用。

2 个答案:

答案 0 :(得分:3)

何时使用include:

  

在50页中,有6页共享一大块HTML -   你创建了一个shared-chunk.twig并将它包含在这6页中。

何时使用继承:

  

您有50个页面共享相同的布局 - 您创建layout.twig   作为父级,每个页面都扩展了layout.twig。所以父母是   通用和孩子是具体的。

以另一种方式使用:

  

你注意到你的layout.twig有点混乱,你想要   模块化它,所以你将sidebar.twig分成一个单独的文件和   将它包含在layout.twig中。

所以:

  

如上所述 - 这是设计而非可编程性的问题。它的   不是:我可以用不同的方法实现同样的结果   编程技术,它的用法是更好的设计。

答案 1 :(得分:0)

扩展 - 您的大多数页面共享相同的布局,因此您将base.twig创建为父级,并且每个页面都扩展该layout.twig。所以父母是通用的,孩子是特定的。

包含 - 您注意到您的layout.twig有点混乱,并且您希望对其进行模块化,因此您将sidebar.twig拆分为单独的文件并将其包含在layout.twig中。

使用 - 您的导航栏会在每个页面上显示,因此您创建一个nav.html.twig文件并在base.twig中使用它,添加一个导航块。