2. Wat is twig?
●een template framework dat PHPTemplate vervangt
●ontwikkeld door de mensen achter Symfony
●wordt gebruikt door de grotere PHP community
●OOP in het achterhoofd gehouden
3. Waarom twig?
●PHPTemplate is verouderd
●twig is sneller
●duidelijk en netter/korter.
●gemakkelijker om te leren
●gedocumenteerd
●veilig
●uitbreidbaar
12. Conditionals (if)
{% if content.comments %} {% endif %}
{% if content.comments is not empty %} {% endif %} // !empty()
{% if content.comments is defined %} {% endif %} // isset()
{% if var > 0 %} {% endif %}
17. Punt notatie
Twig gebruikt punt notatie (.) om attributen van variabelen
aan te spreken. Dit geldt ook voor properties van objecten en
voor items van arrays.
Naast de punt notatie is er ook de subscript syntax, handig
voor properties met een hash (#).
{{ foo.bar }} {{ foo[‘#bar’] }}
18. Wanneer een attribuut een speciaal karakter heeft (zoals
een liggend streepje dat als een min-operator
geïnterpreteerd wordt), gebruiken we de attribute functie:
{# equivalent van {{ foo.bar-data }} #}
{{ attribute(foo, ‘bar-data’) }}
19. Overerving
Templates kunnen erven van elkaar.
De originele template definieert een block dat overschreven
kan worden.
De ervende template roept het origineel aan en overschrijft
het blok.
20. Overerving
Voorbeeld uit core themes Classy en Bartik:
Classy definieert een blok in /templates/block/block--
search-form-block.html.twig
21. en gebruikt {{ parent() }} om de originele content te printen.
Bartik roept de Classy template aan en voegt code toe aan het block in /templates/block/block--
search-form-block.html.twig