Twig (šablonski sistem)
Appearance
Originalni autor(i) | Armin Ronaher[1], Fabijen Potencije |
---|---|
Programer(i) | SensioLabs |
Prvo izdanje | 12. oktobar 2009. |
Stabilno izdanje | 2.4.4[2]
/ 27. septembar 2017. |
Repozitorijum | |
Napisan u | PHP |
Operativni sistem | Višeplatformski |
Tip | šablonski sistem |
Licenca | BSD licenca |
Veb-sajt | twig |
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]
Karakteristike
[uredi | uredi izvor]- 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 | uredi izvor]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 | uredi izvor]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%} {% endif %}
{{ item.caption|upper }}
</a>
</li>
{% endfor %}
</ul>
{% endblock navigation %}
Reference
[uredi | uredi izvor]- ^ Originalni repozitorijum
- ^ Verzije · twigphp/Twig · GitHab
- ^ a b „Tvig dokumentacija za dizajnere šablona”. Arhivirano iz originala 03. 01. 2017. g. Pristupljeno 20. 03. 2017.
- ^ Tvig repozitorijum na GitHab-u
- ^ „Simfoni2 dokumentacija”. Arhivirano iz originala 5. 8. 2010. g. Pristupljeno 20. 3. 2017.
- ^ „Proširenje Tvig šablonskog sistema”. Arhivirano iz originala 11. 09. 2016. g. Pristupljeno 20. 03. 2017.
- ^ „Tvig za dizajnere šablona - Tvig dokumentacija”. Arhivirano iz originala 03. 01. 2017. g. Pristupljeno 20. 03. 2017.
- ^ „Filteri - Tvig dokumentacija”. Arhivirano iz originala 02. 01. 2017. g. Pristupljeno 20. 03. 2017.
Spoljašnje veze
[uredi | uredi izvor]- Tvig zvanični veb-sajt Arhivirano na sajtu Wayback Machine (9. jul 2017)
- Potencije, Fabijen (7. 10. 2009). „Šablonski sistemi u PHP-u”. Pristupljeno 6. 4. 2011.
- Potencije, Fabijen (20. 11. 2009). „Šablonski sistemi u PHP-u” (na jeziku: ruski). Pristupljeno 6. 4. 2011.