Когда использовать наследование:
У вас есть 50 страниц с одинаковым макетом - вы создаете layout.twig в качестве родителя, и каждая страница расширяет этот layout.twig. Таким образом, родитель является родовым, а ребенок - конкретным.
Когда использовать:
Из 50 страниц есть 6 страниц, которые разделяют кусок HTML - вы создаете shared-chunk.twig и включаете его в эти 6 страниц.
Другое использование:
Вы заметили, что ваш layout.twig немного загроможден, и вы хотели бы его модульнить, поэтому вы разбили sidebar.twig на отдельный файл и включили его в layout.twig.
Можете ли вы использовать include для случая использования наследования:
Конечно, создавайте фрагменты для верхнего и нижнего колонтитула и того, что у вас есть, и используйте их на каждой из 50 страниц. Но это неправильный дизайн, как объяснено выше.
Можно ли использовать наследование для прецедента включения:
Конечно, создайте пустой блок для общего блока в родительском layout.twig и создайте дочерний layout-with-chunk.twig второго уровня, который расширяет layout.twig и заполняет блок chunk, а 6 страниц Приведенный выше пример, который совместно использует чанк, может затем расширить layout-with-chunk.twig вместо layout.twig. Но это опять-таки неправильный дизайн, поскольку блок чанка не используется всеми дочерними элементами и не должен входить в базовый родительский элемент Кроме того, вы загромождали дерево наследства.
Итак:
Как объяснено выше - это вопрос дизайна, а не программируемости. Дело не в этом: я могу достичь того же результата, используя другую технику программирования, о которой лучше использовать дизайн.