Gally | |
---|---|
Típusú | sablon processzor |
Szerző | Armin Ronacher, Fabien Potencier |
Fejlesztő | Fabien Potencier, Sensio Labs |
Beírva | PHP |
Operációs rendszer | platformközi |
Első kiadás | 2008. október 12 |
legújabb verzió |
|
Állapot | helyi |
Engedély | BSD |
Weboldal | twig.symfony.com |
A Twig egy nyílt forráskódú sablon fordító , amely PHP programozási nyelven íródott . Armin Ronacher 2008-ban írta a Twig-et a Chyrp blogplatform számára. Nem tért vissza újra a fejlesztéshez, és jobban részt vett a Python fejlesztésében . A Twig sablonnyelv szintaxisa a Jinja és Django template motorokból származik , amelyek közül az előbbit szintén Ronacher készítette. Ennek a sablonmotornak az ötletét Fabien Potensier, a Symfony keretrendszer vezető fejlesztője és ideológusa fejlesztette ki és támogatja , amely alapértelmezés szerint a Twig-et használja.
Fabien maga mesél róla:
Amikor elkezdtem egy PHP-sablont keresni, a Django viselkedését utánzó könyvtárakra összpontosítottam. Néhány óra guglizás után megtalálták Twig-et. Szerzője Armin Ronacher, aki a Jinja projektről (Python template engine) ismert. Kétségtelenül a legnagyobb tiszteletem Armint a Jinján végzett csodálatos munkájáért. A megvalósításban leírtak szerint a Twig inkább Jinja, mint Django.
Amikor megnéztem a kódot, azonnal tudtam, hogy ezt keresem. A fő különbség a Calypso-tól az, hogy a Twig a sablonokat normál PHP-kódba fordítja. Elkezdtem használni ezt a könyvtárat, és a hét végén megkérdeztem Armint, hogy szeretne-e új életet adni a projektjének. A válasza lelkes volt, és elkezdtem tanulmányozni a kódot. Az én verzióm nagyon eltér az Arminétól, de a "lexer" és a "parser" szinte eredeti formájában megmaradt.
Csak néhány napot töltöttem a kóddal, de már most büszke vagyok az eredményre, és azt hiszem, itt az ideje, hogy nyilvánosan is megmutassam a könyvtárat. Tegnap megírtam a dokumentációt és készítettem egy egyszerű weboldalt. Még sok munka van hátra: befejezni a dokumentációt, hozzáadni teszteket és PHPDoc-ot; de a kód már kész és működőképes:
Annak ellenére, hogy a Twig a legfunkcionálisabb sablonmotor, egyben a leggyorsabb is.
Egy személyes blog cikkének fordítása
Az alábbi példa bemutatja a Twig néhány fő funkcióját.
{% extends "base.html" %} {% block navigation %} < ul id = "navigation" > {% for item in navigation %} < li > < a href = " {{ item.href }} " > { % , ha item.level == 2 %} {% endif %} {{ item.caption | felső }} </ a > </ li > {% endfor %} </ ul > {% endblock navigation %}