我正在学习Symfony2开发框架,但找不到任何正确的解释。
以示例解释非常有用。
答案 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中使用它,添加一个导航块。