TWIG
Twig — шаблонизатор по умолчанию для Symfony. Это мощный и быстрый инструмент для создания шаблонов структурированного HTML-кода для отображения, с которым просто работать.
Twig — часть Представления в шаблоне MVC. Модель-Представление-Контроллер — паттерн, который, как и другие, разделяет приложение на три части:
База данных и основная логика приложения для работы с ней, обработки запросов, проведения вычислений и т.д. Не зависит от остальных двух частей. Когда Контроллер сообщает ей как нужно измениться, Модель создает соответствующее событие. Представление подписанное на него запрашивает обновленные данные и отображает их.
Представление — пользовательский интерфейс, все визуальные элементы с которыми будет взаимодействовать пользователь. Все, события во View влияют только на Контроллер.
Реагирует на внешние события в Представлении (если пользователь нажал на кнопку или ввел новые данные) и сообщает модели, как ей измениться.
Шаблонизаторы, и Twig в частности, отвечают за представление данных, которые будут показаны пользователю. Это текстовый файл с html-кодом и тегами, стилями CSS, Javascript-кодом и другим содержимым страницы. Основное отличие от обычной страницы — наличие шаблонных конструкций. Это различные служебные функции отвечающие за автоматизацию изменения отображаемых данных и упрощающих их представление. Twig, как шаблонизатор, просто занимается структурированием информации от веб-сервера, перед передачей Контроллеру, и дальше пользователю.
Одна из особенностей PHP — очень сложные и длинные инструкции для экранирования вывода. Twig решает эту проблему, делая шаблоны лаконичными и понятными. В его синтаксисе очень много ярлыков для установки параметров по умолчанию. Вместе это ускоряет разработку и снижает вероятность появления ошибок.
Компиляция шаблонов в PHP-код с Twig проходит в разы быстрее и проще, что заметно экономит расходы на разработку. При этом шаблонизатор можно адаптировать под задачи любого проекта. Ваши разработчики смогут добавлять собственные теги, фильтры, операторы и так далее. Так у вас будет уникальный DSL полностью ориентированный на цели проекта любого масштаба и при этом неизменно простой и стабильный.
С Twig просто создавать даже сложные шаблоны, благодаря поддержке всех нужных инструментов, например, множественного наследования. Внушительная часть этих функций направлена на обеспечение безопасности, в частности, автоматическое экранирование вывода и песочница для тестирования.
Twig — библиотека для написания шаблонов, оптимизирующих HTML-код для отображения. Это не единственный PHP шаблонизатор, но именно его рекомендует использовать Symfony, самый мощный фреймворк, написанный на этом языке. Twig — самое простое и гибкое решение для создания шаблонов любой сложности. Если подключить эту библиотеку, можно в несколько раз ускорить разработку и тестирование, а также получить более производительную и стабильную систему в итоге.