Větvička (stroj šablony) - Twig (template engine)
Původní autoři | Armin Ronacher,[1] Fabien Potencier |
---|---|
Vývojáři | SensioLabs |
První vydání | 12. října 2009 |
Stabilní uvolnění | 3.1.1[2] / 27. října 2020 |
Úložiště | |
Napsáno | PHP |
Operační systém | Cross-platform |
Typ | Šablona motoru |
Licence | Licence BSD |
webová stránka | větvička |
Větvička je stroj šablony pro Programovací jazyk PHP. Jeho syntaxe pochází z Jinja a Django šablony.[3] Je to produkt s otevřeným zdrojovým kódem[4] licencováno pod a Licence BSD a udržuje Fabien Potencier. Počáteční verze byla vytvořena uživatelem Armin Ronacher. Symfony Rámec PHP je dodáván s dodávanou podporou pro Twig jako jeho výchozí stroj šablon od verze 2.[5]
Funkce
- komplexní kontrolní tok
- automatický únik
- dědičnost šablony
- variabilní filtry[6]
- Podpora i18n (gettext)
- makra
- plně výsuvný[3][7]
Větvička je podporována následujícími integrovaná vývojová prostředí:[3]
- Zatmění prostřednictvím pluginu Twig
- Komodo a Komodo Upravit prostřednictvím režimu zvýraznění / syntaxe větvičky
- NetBeans prostřednictvím pluginu Twig syntax (do 7.1, nativní od 7.2)
- Php Storm (nativní od 2.1)
A textoví redaktoři:
- Atom pomocí větvičky PHP pro atom
- emacs přes web-mode.el
- Poznámkový blok ++ prostřednictvím zvýrazňovače větví Notepad ++
- Vznešený text prostřednictvím balíčku Twig
- TextMate prostřednictvím balíčku Twig
- vim prostřednictvím pluginu Jinja syntaxe nebo pluginu vim-twig
- Závorky přes závorky Twig
- Kód Visual Studio prostřednictvím rozšíření Twig
- GTKSourceView prostřednictvím definice jazyka Twig
- Coda prostřednictvím syntaxe režimu Větvička
- Coda 2 prostřednictvím druhého režimu syntaxe Twig
- SubEthaEdit prostřednictvím syntaxe režimu Větvička
Syntax
Větvička definuje tři druhy oddělovačů:
{{ ... }}
, k tisku obsahu proměnných nebo výsledku vyhodnocení výrazu (např .: zděděná šablona Větvička s{{rodič ()}}
).{# ... #}
, pro přidání komentářů do šablon. Tyto komentáře nejsou zahrnuty na vykreslené stránce.{% ... %}
, provádět příkazy, například for-loops.{% soubor foo = 'bar' %}
, přiřadit.[8]{% -li i je definovaný a i == 1%} ... {% endif %}
: stav.{% pro i v 0..10 %} ... {% konec %}
: počítadlo ve smyčce.
Apostrop (') je úniková postava.
Vytvoření iteračního pole:
{% soubor myArray = [1, 2] %}
Asociativní pole:
{% soubor myArray = {'klíč': 'hodnota'} %}
Přednost operátorů
Přednost operátorů je,[3] od méně k větší prioritě:
Operátor | Role |
---|---|
kapela | Boolean a |
b-xor | Exkluzivní nebo |
b-nebo | Boolean nebo |
nebo | Nebo |
a | A |
== | Je roven? |
!= | Je jiný? |
< | Nižší |
> | Nadřízený |
>= | Nadřízený nebo rovný |
<= | Nižší nebo rovný |
v | Do |
zápasy | Odpovídá |
začíná s | Začíná tím |
končí s | Dokončí do |
.. | Pořadí (např .: 1..5 ) |
+ | Plus |
- | Méně |
~ | Zřetězení |
* | Násobení |
/ | Divize |
// | Divize zaokrouhlena na nižší |
% | Modulo |
je | Test (např .: je definováno nebo není prázdný ) |
** | Napájení |
| | Filtr[6] |
[] | Vstup do pole |
. | Atribut nebo metoda z objektu (např .: název země ) |
Filtry
Filtry poskytují některé úpravy výrazu, pokud jsou umístěny za ním, oddělené trubkami. Například:[6]
kapitalizovat
: změní první písmeno řetězce na velké.horní
: změní celý řetězec na velká písmena.za prvé
: zobrazí první řádek pole.délka
: vrátí proměnnou velikost.
Speciální proměnné
smyčka
obsahuje informace o aktuální smyčce. Napříkladloop.index
odpovídá počtu iterací, které již proběhly.- Globální proměnné začínají podtržítky. Například:
- _route (část URL umístěná za doménou)
- _self (aktuální název souboru)
- Takže k trase stránky:
{{cesta (app.request.attributes.get ('_ route'), app.request.attributes.get ('_ route_params'))}}
- CGI proměnné prostředí, jako
{{app.request.server.get ('SERVER_NAME')}}
.
Příklad
Následující příklad ukazuje některé základní vlastnosti Twig.
{% rozšiřuje „base.html“ %}{% blok navigace %} <ul id="navigace"> {% pro položka v navigace %} <li> <A href="{{ item.href }}"> {% -li item.level == 2 %}& nbsp; & nbsp;{% endif %} {{ item.caption|horní }} </A> </li> {% konec %} </ul>{% koncový blok navigace %}
Viz také
Reference
- ^ "mitsuhiko / větvička". 13. srpna 2019 - prostřednictvím GitHub.
- ^ „Verze 3.1.1“. 27. října 2020. Citováno 18. listopadu 2020.
- ^ A b C d „Větvička pro návrháře šablon - Dokumentace - Větvička - Flexibilní, rychlý a bezpečný modul šablon PHP“. twig.symfony.com.
- ^ „twigphp / Twig“. 1. července 2020 - přes GitHub.
- ^ "Dokumentace Symfony2 - dokumentace". web.archive.org. 5. srpna 2010.
- ^ A b C „Filtry - Dokumentace - Větvička - Flexibilní, rychlý a bezpečný modul šablon PHP“. twig.symfony.com.
- ^ „Rozšíření větvičky - Dokumentace - Větvička - Flexibilní, rychlý a bezpečný modul šablon PHP“. twig.symfony.com.
- ^ "set - Dokumentace - Větvička - Flexibilní, rychlý a bezpečný modul šablon PHP". twig.symfony.com.
externí odkazy
- Větvička oficiální webové stránky
- Šablony motorů v PHP, Fabien Potencier, 2009