Twig (шаблонизатор) - Twig (template engine)
Оригинальный автор (ы) | Армин Ронахер,[1] Фабьен Потенсье |
---|---|
Разработчики) | SensioLabs |
изначальный выпуск | 12 октября 2009 г. |
Стабильный выпуск | 3.1.1[2] / 27 октября 2020 |
Репозиторий | |
Написано в | PHP |
Операционная система | Кроссплатформенность |
Тип | Шаблонизатор |
Лицензия | Лицензия BSD |
Интернет сайт | веточка |
Веточка это шаблонизатор для Язык программирования PHP. Его синтаксис происходит от Джиндзя и Джанго шаблоны.[3] Это продукт с открытым исходным кодом[4] под лицензией Лицензия BSD и поддерживается Fabien Potencier. Первоначальная версия была создана Армин Ронахер. Symfony Фреймворк PHP поставляется со встроенной поддержкой Twig в качестве механизма шаблонов по умолчанию, начиная с версии 2.[5]
Функции
- сложный поток управления
- автоматический побег
- наследование шаблона
- переменные фильтры[6]
- поддержка i18n (gettext)
- макросы
- полностью расширяемый[3][7]
Twig поддерживается следующими интегрированные среды разработки:[3]
- Затмение через плагин Twig
- Комодо и Комодо Править через режим выделения / синтаксиса Twig
- NetBeans через плагин синтаксиса Twig (до 7.1, нативный с 7.2)
- PhpStorm (родной с 2.1)
И текстовые редакторы:
- Атом через ветку PHP для атома
- emacs через web-mode.el
- Блокнот ++ через Notepad ++ Twig Highlighter
- Возвышенный текст через пакет Twig
- TextMate через пакет Twig
- vim через плагин синтаксиса Jinja или плагин vim-twig
- Скобки через скобки Twig
- Код Visual Studio через расширение Twig
- GTKSourceView через определение языка Twig
- Coda через режим синтаксиса Twig
- Кода 2 через другой режим синтаксиса Twig
- SubEthaEdit через режим синтаксиса Twig
Синтаксис
Twig определяет три типа разделителей:
{{ ... }}
, чтобы распечатать содержимое переменных или результат вычисления выражения (например: унаследованный шаблон Twig с{{parent ()}}
).{# ... #}
, чтобы добавить комментарии в шаблоны. Эти комментарии не включаются в отображаемую страницу.{% ... %}
для выполнения операторов, таких как циклы for.{% набор фу = 'бар' %}
, назначить.[8]{% если я является определенный и я == 1%} ... {% endif %}
: условие.{% за я в 0..10 %} ... {% конец %}
: счетчик в цикле.
Апостроф (') - это escape-символ.
Чтобы создать итерационный массив:
{% набор myArray = [1, 2] %}
Ассоциативный массив:
{% набор myArray = {'ключ': 'ценить'} %}
Приоритет операторов
Приоритет операторов:[3] от менее приоритетного к более приоритетному:
Оператор | Роль |
---|---|
группа | Логическое и |
b-xor | Эксклюзивный или |
б-или | Логическое или |
или же | Или же |
и | И |
== | Равно? |
!= | Отличается? |
< | Низший |
> | Начальство |
>= | Улучшенный или равный |
<= | Низкий или равный |
в | В |
совпадения | Соответствует |
начинается с | Начинается |
заканчивается | Окончание |
.. | Последовательность (например: 1..5 ) |
+ | Плюс |
- | Меньше |
~ | Конкатенация |
* | Умножение |
/ | Разделение |
// | Деление округлено в меньшую сторону |
% | По модулю |
является | Тест (например: определено или же не пусто ) |
** | Мощность |
| | Фильтр[6] |
[] | Запись в массиве |
. | Атрибут или метод объекта (например: название страны ) |
Фильтры
Фильтры предоставляют некоторые виды обработки выражения, если ставить после него, разделенные вертикальной чертой. Например:[6]
извлекать выгоду
: изменяет первую букву строки на заглавную.верхний
: заменяет всю строку на заглавную.первый
: отображает первую строку массива.длина
: возвращает переменный размер.
Специальные переменные
петля
содержит информацию о текущем цикле. Напримерloop.index
соответствует количеству уже выполненных итераций.- Глобальные переменные начинаются с подчеркивания. Например:
- _route (часть URL после домена)
- _self (текущее имя файла)
- Итак, к маршруту страницы:
{{путь (app.request.attributes.get ('_ route'), app.request.attributes.get ('_ route_params'))}}
- CGI переменные среды, Такие как
{{app.request.server.get ('SERVER_NAME')}}
.
Пример
Пример ниже демонстрирует некоторые основные функции Twig.
{% расширяет "base.html" %}{% блокировать навигация %} <ул я бы="навигация"> {% за элемент в навигация %} <Ли> <а href="{{ item.href }}"> {% если item.level == 2 %}& nbsp; & nbsp;{% endif %} {{ item.caption|верхний }} </а> </Ли> {% конец %} </ул>{% концевой блок навигация %}
Смотрите также
Рекомендации
- ^ "митсухико / веточка". 13 августа 2019 г. - через GitHub.
- ^ «Выпуск 3.1.1». 27 Октябрь 2020. Получено 18 ноября 2020.
- ^ а б c d "Twig для разработчиков шаблонов - Документация - Twig - Гибкий, быстрый и безопасный механизм шаблонов PHP". twig.symfony.com.
- ^ "twigphp / Twig". 1 июля 2020 г. - через GitHub.
- ^ "Документация Symfony2 - Документация". web.archive.org. 5 августа 2010 г.
- ^ а б c «Фильтры - Документация - Twig - Гибкий, быстрый и безопасный механизм шаблонов PHP». twig.symfony.com.
- ^ «Расширение Twig - Документация - Twig - Гибкий, быстрый и безопасный механизм шаблонов PHP». twig.symfony.com.
- ^ "set - Документация - Twig - Гибкий, быстрый и безопасный механизм шаблонов PHP". twig.symfony.com.
внешняя ссылка
- Официальный сайт Twig
- Создание шаблонов на PHP, Фабьен Потансье, 2009 г.