Twig это современный шаблонизатор для PHP
- Быстрый: Twig компилирует шаблоны в оптимизированный PHP код. Использование памяти по сравнению с обычным PHP кодом сведено к минимуму.
- Безопасный: Twig имеет режим "песочницы" для оценки "ненадежного" кода в шаблонах. Это позволяет использовать Twig в приложениях, где пользователи могут менять содержимое шаблонов.
- Гибкий: Twig использует гибко настраиваемые лексический и грамматический анализаторы. Это позволяет разработчику определять свои теги и фильтры, создавать собственный DSL.
Зачем нужен еще один шаблонизатор?
Twig использует гибко настраиваемые лексический и грамматический анализаторы. Это позволяет разработчику определять свои теги и фильтры, создавать собственный DSL.
- Краткость: Язык PHP многословен и даже слишком многословен, когда надо экранировать вывод данных:
Twig имеет более лаконичный синтаксис, который позволяет легко читать шаблоны:- <?php echo $var ?>
- <?php echo htmlspecialchars($var, ENT_QUOTES, 'UTF-8') ?>
- {{ var }}
- {{ var|escape }}
- {{ var|e }} {# сокращение для escape #}
- Ориентированный на шаблоны синтаксис: Twig имеет сокращения для многих общих паттернов, например, отображение текста по умолчанию, если вы перебираете пустой массив:
- {% for user in users %}
- * {{ user.name }}
- {% else %}
- Пользователи не найдены.
- {% endfor %}
- Полнофункциональный: Twig поддерживает все, что вам надо для использования шаблонов: множественное наследование, блоки, автоматическое экранирование и многое другое:
- {% extends "layout.html" %}
- {% block content %}
- Содержимое страницы...
- {% endblock %}
- Легок в изучении: Синтаксис просто изучить и оптимален для верстальщиков, что позволяет им быстро выполнять свою работу. Конечно, для PHP написано большое число шаблонизаторов. Но большинство из них написаны под PHP4 и не используют лучшие практики разработки:
- Расширяемость: Twig - гибкий движок для любых ваших потребностей, даже самых сложных. Благодаря открытой архитектуре, вы можете определять новые языковые конструкции (тэги и фильтры) для создания своего собственного DSL.
- Юнит-тестирование: Twig полностью покрыт тестами. Библиотека стабильна и готова к использованию в больших проектах.
- Документация: Twig полностью документирован, вся документация доступна на сайте, и, конечно, имеет полное описание API.
- Безопасность: В отношении безопасности, Twig имеет несколько совершенно уникальных особенностей:
-
Автоматическое экранирование вывода: Для безопасного вывода данных, вы можете включить экранирование как глобально, так и для отдельных блоков:
- {% autoescape on %}
- {% var %}
- {% var|safe %} {# var не экранируется #}
- {% var|escape %} {# var не экранируется дважды #}
- {% endautoescape %}
Песочница:Twig позволяет использовать для любого шаблона "песочницу", где пользователи имеют ограниченный набор тэгов, фильтров и методов объектов, определенных разработчиком. Режим "песочницы" может быть включен как глобально, так и локально, для определенных шаблонов:
-
Автоматическое экранирование вывода: Для безопасного вывода данных, вы можете включить экранирование как глобально, так и для отдельных блоков:
- {{ include "user.html" sandboxed }}
Хотите узнать больше? Читайте документацию


0 Responses to TWIG - Гибкий, быстрый и безопасный шаблонизатор для PHP