Twig (шаблонски систем)

Твиг енгл. Twig
Оригинални аутор(и)Армин Ронахер[1],
Фабијен Потенције
Програмер(и)СенсиоЛабс
Прво издање12. октобар 2009. (2009-10-12)
Стабилно издање
2.4.4[2] / 27. септембар 2017. (2017-09-27)
Репозиторијум
  • github.com/twigphp/Twig
Уреди на Википодацима
Написан уPHP
Оперативни системВишеплатформски
Типшаблонски систем
ЛиценцаБСД лиценца
Веб-сајтtwig.symfony.com

Твиг (енгл. Twig) је шаблонски систем за PHP програмски језик. Синтакса потиче од Џинџа шаблонског система и Ђанго веб фејмворка.[3] Твиг је производ отвореног кода[4], дистрибуиран под БСД лиценцом који одржава Фабијен Потенције. Творац оригиналне верзије је Армин Ронахер. Симфони 2 PHP фрејмворк долази са подршком за Твиг као његовим подразумеваним шаблонским системом.[5]

Карактеристике

  • сложена контрола тока
  • аутоматска излазна секвенца
  • наслеђивање шаблона
  • филтрирање променљивих
  • подршка за i18n (gettext)
  • макрои
  • у потпуности проширив[3][6]

Твиг подржавају следећа Интегрисанa развојнa окружењa енгл. Integrated Development Environments - IDE:

  • Мајкрософтов Визуелни Студио

И следећи уређивачи текста:

  • Атом
  • Имакс
  • Ноутпед++
  • Сублајм Текст
  • ТекстМејт
  • вим

Синтакса

Твиг дефинише три врсте граничника:

  • {% ... %}, који се користи за извршавање наредби, као што су for петље.
  • {{ ... }}, који се користи да прикаже садржај променљивих или резултат израчунавања израза (нпр. наслеђен Твиг шаблон са {{ parent() }}).
  • {# ... #}, који се користи да се додају коментари у шаблону. Ови коментари се не приказују на страници.

Апостроф (') је излазни знак.

Приоритет оператора иде одмањег ка већем приоритету:[7]

Оператор Улога
b-and Булова променљива и
b-xor Ексклузивно или
b-or Булова променљива или
or Или
and И
== Једнако
!= Различито
< Мање
> Веће
>= Веће или једнако
<= Мање или једнако
in у
matches Одговара
starts with Почиње са
ends with Завршава се са
.. Низ(нпр: 1..5)
+ Плус
- Минус
~ Надовезивање
* Множење
/ Дељење
// Дељење са заокруживањем на мањи број
% Модуо
is Тест (нпр: is defined или is not empty)
** Степен
| Филтер[8]
[] Улаз у низ
. Атрибут или метод објекта (нпр: country.name)

Пример

Пример испод демонстрира основне могућнсоти Твига.

{% extends "base.html" %}
{% block navigation %}
    <ul id="navigation">
    {% for item in navigation %}
        <li>
            <a href="{{ item.href }}">
                {% if item.level == 2%}&nbsp;&nbsp;{% endif %}
                {{ item.caption|upper }}
            </a>
        </li>
    {% endfor %}
    </ul>
{% endblock navigation %}

Референце

  1. ^ Оригинални репозиторијум
  2. ^ Верзије · twigphp/Twig · ГитХаб
  3. ^ а б „Твиг документација за дизајнере шаблона”. Архивирано из оригинала 03. 01. 2017. г. Приступљено 20. 03. 2017. 
  4. ^ Твиг репозиторијум на ГитХаб-у
  5. ^ „Симфони2 документација”. Архивирано из оригинала 5. 8. 2010. г. Приступљено 20. 3. 2017. 
  6. ^ „Проширење Твиг шаблонског система”. Архивирано из оригинала 11. 09. 2016. г. Приступљено 20. 03. 2017. 
  7. ^ „Твиг за дизајнере шаблона - Твиг документација”. Архивирано из оригинала 03. 01. 2017. г. Приступљено 20. 03. 2017. 
  8. ^ „Филтери - Твиг документација”. Архивирано из оригинала 02. 01. 2017. г. Приступљено 20. 03. 2017. 

Спољашње везе

  • Твиг званични веб-сајт Архивирано на сајту Wayback Machine (9. јул 2017)
  • Потенције, Фабијен (7. 10. 2009). „Шаблонски системи у PHP-у”. Приступљено 6. 4. 2011. 
  • Потенције, Фабијен (20. 11. 2009). „Шаблонски системи у PHP-у” (на језику: руски). Приступљено 6. 4. 2011.