Oksa
Oksa
Twig on PHP- ohjelmointikielen mallimoottori , jota Symfony Framework käyttää oletuksena .
Sen innoittamana oli Jinja , Python- mallimoottori .
ominaisuudet
- monimutkainen virtauksen hallinta
- automaattinen pakokaasu
- malliperintö
- vaihtelevat suodattimet
- kansainvälistyminen (kautta gettext)
- makrot
- laajennettava kieli.
Tuetaan integroiduilla kehitysympäristöillä , kuten:
Ja tekstieditorit:
Syntaksi
- {{...}}: kutsu muuttujaan tai PHP-funktioon tai vanhempaan Twig-malliin ( {{ parent() }}).
- {# ... #}: kommentit.
- {% ...%}: komento, kuten tehtävä, ehto, silmukka tai HTML-lohko.
- {% set foo = 'bar'%}: tehtävä.
- {% jos i on määritelty ja i == 1%} ... {% endif%}: ehto.
- {% i: lle 0..10%: ssa} ... {% endfor%}: laskuri silmukassa.
- ": paeta merkki.
Iteratiivisen taulukon luominen:
{% set myArray = [1, 2] %}
Assosiatiivinen taulukko:
{% set myArray = {'key': 'value'} %}
Operaattoreiden etusija
Ainakin korkeimpaan prioriteettiin:
Operaattori |
Rooli
|
---|
b- ja |
Ja looginen
|
b-xor |
Tai yksinoikeudella
|
b- tai |
Tai looginen
|
kulta- |
Tai
|
ja |
Ja
|
== |
Onko se tasa-arvoinen
|
! = |
Onko se erilainen
|
< |
Huonompi
|
> |
Superior
|
> = |
Suurempi tai yhtä suuri kuin
|
<= |
Pienempi tai yhtä suuri
|
sisään |
Sisään
|
Ottelut |
Vastaa
|
alkaa |
Alkaa
|
loppuu |
Lopuksi
|
.. |
Järjestys (esim. 1..5)
|
+ |
Lisää
|
- |
Vähemmän
|
~ |
Ketjutus
|
* |
Kertolasku
|
/ |
Divisioona
|
// |
Divisioona pyöristetty alaspäin
|
% |
Modulo
|
On |
Testi (esim. is definedTai is not empty)
|
** |
Teho
|
| |
Suodatettu
|
[] |
Taulukon merkintä
|
. |
Objektin attribuutti tai menetelmä (esim. country.name)
|
Suodattimet
Suodattimet mahdollistavat lausekkeen käsittelyn, jos se sijoitetaan sen jälkeen, kun se on erotettu putkilla. Esimerkiksi :
-
capitalize : lisää ison kirjaimen merkkijonon ensimmäiseen kirjaimeen.
-
upper : lisää merkkijonon isoilla kirjaimilla.
-
first : näyttää taulukon ensimmäisen rivin.
-
length : palauttaa muuttujan koon.
Erityismuuttujat
-
loopsisältää sen silmukan tiedot, jossa se sijaitsee. Esimerkiksi loop.indexantaa jo tapahtuneiden iteraatioiden määrän.
- Globaalit muuttujat alkavat alaviivoilla, esimerkiksi:
- _route (osa URL-osoitetta verkkotunnuksen jälkeen)
- _self (nykyisen tiedoston nimi)
Joten saadaksesi sivun reitin: {{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}
- CGI ympäristömuuttujat , kuten{{ app.request.server.get('SERVER_NAME') }}
Esimerkki
Jos "base.html" -tiedosto sisältää kaikille sivuille yhteisen HTML-otsikon ja alatunnisteen, nämä sivut voivat periä sen sanan kanssa extends.
{% extends "base.html.twig" %}
{% block navigation %}
<ul id="navigation">
{% for item in navigation %}
<li>
<a href="{{ item.href }}">
{% if item.level == 2 %}
{{ item.name|upper }}
{% endif %}
</a>
</li>
{% endfor %}
</ul>
{% endblock navigation %}
Huomautuksia ja viitteitä
-
" Release 3.3.0 " ,8. helmikuuta 2021(käytetty 17. helmikuuta 2021 )
-
http://fabien.potencier.org/templating-engines-in-php.html#twig
-
Symfony , " Suodattimet - Dokumentaatio - Oksa - Joustava, nopea ja turvallinen PHP- mallimoottori " , twig.sensiolabs.org -sivustolla
-
Symfony , ” Extig Twig - Documentation - Twig - Joustava, nopea ja turvallinen PHP- mallimoottori ” , twig.sensiolabs.org
-
Symfony , " Twig for Template Designers - Documentation - Twig - Joustava, nopea ja turvallinen PHP- mallimoottori " , osoitteessa twig.sensiolabs.org
-
Symfony , " set - Documentation - Twig - Joustava, nopea ja turvallinen PHP- mallimoottori " , twig.sensiolabs.org -sivustolla
-
Symfony , " Twig for Template Designers - Documentation - Twig - Joustava, nopea ja turvallinen PHP- mallimoottori " , osoitteessa twig.sensiolabs.org