WikiDer > Twig (шаблонизатор)
| Оригинальный автор (ы) | Армин Ронахер,[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 г.