Компонент Symfony Templating предоставляет инструменты, необходимые для создания любой системы шаблонов, включая загрузку файлов шаблонов из нескольких источников, мониторинг их изменений и использование нескольких механизмов для их рендеринга.
В приложениях Symfony этот компонент позволял использовать как PHP, так и Twig для создания шаблонов. Однако почти все разработчики используют Twig для создания традиционных шаблонов или сериализатора для вывода данных. Вот почему в Symfony 4.3 решили отказаться от интеграции компонента Templating в приложения Symfony.
Это означает, что, начиная с Symfony 5.0, уберут поддержку использования шаблонов PHP и тем форм PHP. Вам нужно будет использовать Twig для этих шаблонов. В дополнение к устаревшим нескольким классам, службам и служебным тегам, параметр конфигурации hinclude_default_template был перемещен в раздел fragments:
# config/packages/framework.yaml
framework:
# ...
- templating:
+ fragments:
hinclude_default_template: hinclude.html.twig
Хотя количество людей, использующих шаблоны PHP в приложениях Symfony, минимально по сравнению с Twig, если бы достаточное количество людей добровольно принялось бы работать над альтернативным решением, рассмотрели бы создание нового PHPTemplateBundle, который предоставляет все устаревшие классы и файлы поддержки. Если вы хотите помочь, создайте проблему в основном репозитории Symfony GitHub, чтобы начать обсуждение этого вопроса.
Вы можете увидеть новый тег Twig include. Он будет включать содержимое шаблона BloggerBlogBundle:Comment:index.html.twig. Мы также можем передать любое количество аргументов в шаблон. В этом случае нам нужно пройти через коллекцию Comment сущностей для визуализации. BloggerBlogBundle:Comment:index.html.twig который мы включили выше пока не существует, поэтому мы должны создать его. Так как это просто шаблон, нам не нужно, создавать маршрут или контроллер для этого нам нужен только файл шаблона. Создайте новый файл