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

Php Symfony2中包含、使用和扩展的主要区别是什么?,php,symfony,frameworks,Php,Symfony,Frameworks,我正在学习Symfony2开发框架,找不到任何合适的解释 举例说明将非常有用。何时使用包括: 在50个页面中,有6个页面共享一块HTML- 创建一个shared-chunk.twig并将其包含在这6个页面中 何时使用继承: 您有50个页面共享相同的布局-您创建了一个layout.twig 作为父级,每个页面都扩展了layout.twig。所以父母是 泛型和子型是特定的 另一种用法: 您注意到layout.twig有点凌乱,您希望 为了将其模块化,您将sidebar.twig拆分为一个单独的文件,

我正在学习Symfony2开发框架,找不到任何合适的解释

举例说明将非常有用。

何时使用包括:

在50个页面中,有6个页面共享一块HTML- 创建一个shared-chunk.twig并将其包含在这6个页面中

何时使用继承:

您有50个页面共享相同的布局-您创建了一个layout.twig 作为父级,每个页面都扩展了layout.twig。所以父母是 泛型和子型是特定的

另一种用法:

您注意到layout.twig有点凌乱,您希望 为了将其模块化,您将sidebar.twig拆分为一个单独的文件,然后 将其包含在layout.twig中

因此:

如上所述,这是一个设计问题,而不是可编程性问题。它是 不是关于:我可以用不同的方法实现相同的结果 编程技术,它的用途是更好的设计

何时使用包括:

在50个页面中,有6个页面共享一块HTML- 创建一个shared-chunk.twig并将其包含在这6个页面中

何时使用继承:

您有50个页面共享相同的布局-您创建了一个layout.twig 作为父级,每个页面都扩展了layout.twig。所以父母是 泛型和子型是特定的

另一种用法:

您注意到layout.twig有点凌乱,您希望 为了将其模块化,您将sidebar.twig拆分为一个单独的文件,然后 将其包含在layout.twig中

因此:

如上所述,这是一个设计问题,而不是可编程性问题。它是 不是关于:我可以用不同的方法实现相同的结果 编程技术,它的用途是更好的设计


扩展-大多数页面共享相同的布局,因此创建一个base.twig作为父级,每个页面都扩展该layout.twig。因此,父对象是泛型,子对象是特定的

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


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

Extend-您的大多数页面共享相同的布局,因此您可以创建一个base.twig作为父页面,并且每个页面都会扩展该布局.twig。因此,父对象是泛型,子对象是特定的

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


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

您看过twig手册(相对于Symfony文档)吗?twig手册会更详细。您看过twig手册(相对于Symfony文档吗?twig手册会更详细。