Twig (šablonski sistem)

Tvig (engl. Twig) je šablonski sistem za PHP programski jezik. Sintaksa potiče od Džindža šablonskog sistema i Đango veb fejmvorka.[3] Tvig je proizvod otvorenog koda[4], distribuiran pod BSD licencom koji održava Fabijen Potencije. Tvorac originalne verzije je Armin Ronaher. Simfoni 2 PHP frejmvork dolazi sa podrškom za Tvig kao njegovim podrazumevanim šablonskim sistemom.[5]

Tvig engl. Twig
Originalni autor(i)Armin Ronaher[1],
Fabijen Potencije
Programer(i)SensioLabs
Prvo izdanje12. oktobar 2009. (2009-10-12)
Stabilno izdanje
2.4.4[2] / 27. septembar 2017. (2017-09-27)
Repozitorijum Uredi na Vikipodacima
Napisan uPHP
Operativni sistemVišeplatformski
Tipšablonski sistem
LicencaBSD licenca
Veb-sajttwig.symfony.com

Karakteristike uredi

  • složena kontrola toka
  • automatska izlazna sekvenca
  • nasleđivanje šablona
  • filtriranje promenljivih
  • podrška za i18n (gettext)
  • makroi
  • u potpunosti proširiv[3][6]

Tvig podržavaju sledeća Integrisana razvojna okruženja engl. Integrated Development Environments - IDE:

I sledeći uređivači teksta:

Sintaksa uredi

Tvig definiše tri vrste graničnika:

  • {% ... %}, koji se koristi za izvršavanje naredbi, kao što su for petlje.
  • {{ ... }}, koji se koristi da prikaže sadržaj promenljivih ili rezultat izračunavanja izraza (npr. nasleđen Tvig šablon sa {{ parent() }}).
  • {# ... #}, koji se koristi da se dodaju komentari u šablonu. Ovi komentari se ne prikazuju na stranici.

Apostrof (') je izlazni znak.

Prioritet operatora ide odmanjeg ka većem prioritetu:[7]

Operator Uloga
b-and Bulova promenljiva i
b-xor Ekskluzivno ili
b-or Bulova promenljiva ili
or Ili
and I
== Jednako
!= Različito
< Manje
> Veće
>= Veće ili jednako
<= Manje ili jednako
in u
matches Odgovara
starts with Počinje sa
ends with Završava se sa
.. Niz(npr: 1..5)
+ Plus
- Minus
~ Nadovezivanje
* Množenje
/ Deljenje
// Deljenje sa zaokruživanjem na manji broj
% Moduo
is Test (npr: is defined ili is not empty)
** Stepen
| Filter[8]
[] Ulaz u niz
. Atribut ili metod objekta (npr: country.name)

Primer uredi

Primer ispod demonstrira osnovne mogućnsoti Tviga.

{% 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 %}

Reference uredi

  1. ^ Originalni repozitorijum
  2. ^ Verzije · twigphp/Twig · GitHab
  3. ^ a b „Tvig dokumentacija za dizajnere šablona”. Arhivirano iz originala 03. 01. 2017. g. Pristupljeno 20. 03. 2017. 
  4. ^ Tvig repozitorijum na GitHab-u
  5. ^ „Simfoni2 dokumentacija”. Arhivirano iz originala 5. 8. 2010. g. Pristupljeno 20. 3. 2017. 
  6. ^ „Proširenje Tvig šablonskog sistema”. Arhivirano iz originala 11. 09. 2016. g. Pristupljeno 20. 03. 2017. 
  7. ^ „Tvig za dizajnere šablona - Tvig dokumentacija”. Arhivirano iz originala 03. 01. 2017. g. Pristupljeno 20. 03. 2017. 
  8. ^ „Filteri - Tvig dokumentacija”. Arhivirano iz originala 02. 01. 2017. g. Pristupljeno 20. 03. 2017. 

Spoljašnje veze uredi