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 г.
