bg_image
header

Twig

Twig ist ein leistungsfähiges und flexibles Templating-System für PHP, das häufig in Symfony, aber auch in anderen PHP-Projekten verwendet wird. Es ermöglicht eine klare Trennung von Logik und Präsentation und bietet viele nützliche Features für die Frontend-Entwicklung.


Wichtige Merkmale von Twig

1. Einfache Syntax mit Platzhaltern ({{ }})

Twig verwendet doppelte geschweifte Klammern für die Ausgabe von Variablen:

<p>Hallo, {{ name }}!</p>

→ Wenn name = "Max" ist, wird ausgegeben:
"Hallo, Max!"


2. Steuerstrukturen ({% %})

Twig unterstützt if-else, Schleifen und andere Kontrollstrukturen:

If-Else

{% if user.isAdmin %}
    <p>Willkommen, Admin!</p>
{% else %}
    <p>Willkommen, Nutzer!</p>
{% endif %}

Schleifen (for)

<ul>
{% for user in users %}
    <li>{{ user.name }}</li>
{% endfor %}
</ul>

3. Template-Vererbung

Twig unterstützt das Konzept von "Base-Layouts", ähnlich wie Blade in Laravel.

Eltern-Template (base.html.twig)

<!DOCTYPE html>
<html>
<head>
    <title>{% block title %}Meine Seite{% endblock %}</title>
</head>
<body>
    <header>{% block header %}Standard-Header{% endblock %}</header>
    <main>{% block content %}{% endblock %}</main>
</body>
</html>

Kind-Template (page.html.twig)

{% extends 'base.html.twig' %}

{% block title %}Startseite{% endblock %}

{% block content %}
    <p>Willkommen auf meiner Seite!</p>
{% endblock %}

→ Die Blöcke überschreiben die Standardinhalte des Basis-Templates.


4. Inkludieren von Templates

Man kann wiederverwendbare Teile wie Header oder Footer einbinden:

{% include 'partials/navbar.html.twig' %}

5. Filter & Funktionen

Twig enthält viele Filter, um Inhalte zu formatieren:

Filter Beispiel Ausgabe
upper `{{ "text" upper }}`
lower `{{ "TEXT" lower }}`
length `{{ "Hallo" length }}`
date `{{ "now" date("d.m.Y") }}`

6. Sicherheit & Escaping

Twig escapet HTML automatisch, um XSS-Angriffe zu verhindern:

{{ "<script>alert('XSS');</script>" }}

→ Gibt nur &lt;script&gt;alert('XSS');&lt;/script&gt; aus.

Möchtest du HTML ungefiltert ausgeben, nutze |raw:

{{ "<strong>Fett</strong>"|raw }}

7. Erweiterbarkeit

  • Twig unterstützt eigene Filter & Funktionen.
  • Man kann PHP-Objekte und Arrays direkt in Twig verwenden.

Erstellt vor 2 Monaten
Cross-Site Scripting - XSS Frontend HTML HyperText Markup Language - HTML Laravel PHP Strategien Syntax Twig Webanwendung Webentwicklung

Hinterlasse einen Kommentar Antworten Abbrechen
* Erforderliches Feld