Подробный курс по работе с Twig

Изучая фреймворк Symfony, рано или поздно вы столкнетесь с таким понятием как шаблонизатор. Давайте сейчас будем разбираться с тем, что такое шаблонизатор и зачем он нужен.

В Symfony используется такой шаблонизатор, который называется Twig. На самом деле Twig - это не единственный шаблонизатор, который мы с вами можем использовать. Вы можете использовать любой другой шаблонизатор.

Но, по умолчанию, в Symfony используется именно шаблонизатор Twig. 

Давайте будем разбираться, зачем нам нужен шаблонизатор и для каких целей он используется. 

Если мы с вами вспомним модель MVC (модель - вид - контроллер), о которой мы с вами говорили несколько ранее, то шаблонизатор - это то, что относится к части "Вида". 

Как вы помните, задача вида у нас представить данные, которые будут выданы по запросу пользователя. Точно также шаблонизатор. Его основная задача представить данные для отображения пользователю. 

Файл шаблонизатора - это обычный текстовый файл. Для Twig этот файл имеет 2 расширения. 

file.html.twig

Это означает то, что этот файл у нас содержит HTML-разметку и во вторых этот файл является служебным файлом шаблонизатора Twig. 

По сути, в этом файле у нас содержаться 2 части: обычный html-код с простыми html-тэгами, встроенные стили CSS, встроенный Javascript-код и.т.д. 

В отличии от обычной html-страницы, дополнительно к разметке документа там также выводятся определенные данные, которые могли быть переданы в него из контроллера. С помощью специальных конструкций, эти данные встраиваются в исходный twig-файл. 

Данные на сервере могут меняться и автоматически они также меняются в twig файле. Т.е. мы получили html-страницу, которая содержит какие-то данные с веб-сервера. 

Кроме данных в twig файле могут находиться какие-то служебные функции, которые упрощают представление этих данных. 

Т.е. шаблонизатор - это что-то вроде некого шаблона и в этот шаблон мы можем передавать некие переменные, которые зависят от состояния нашего сервера.

Поэтому, шаблонизатор и происходит от слова "шаблон". Там содержится какая-то шаблонная страница, шаблонный html-код и в него вставляются переменные данные. 

Т.е. шаблонизатор - это что-то вроде службы, которая подготавливает html-страницу со всеми необходимыми данными, которые отражают состояние нашего веб-сервера и возвращают эти данные контроллеру. 

А контроллер уже возвращает готовый html-код тому посетителю сайта. который его запросил.

Таким образом это работает. Надеюсь, что стало понятнее что такое шаблонизатор и для чего он нужен и теперь можно приступить к рассмотрению конкретных примеров по работе с этим инструментом. 

1) Попробуйте найти в Сети информацию о том, какие еще есть шаблонизаторы, кроме Twig. Напишите их название в комментарии под этим видео.

2) Создайте отдельный раздел в своей базе знаний программиста (решение, которое использую я), который будет называться Twig. Вам еще не раз придется к нему обращаться на практике.