Eliminierung technischer Schulden mit PHPStan, Rector PHP und PHPUnit. Über 20 Jahre Praxiserfahrung in skalierbaren Backends.
- Aktualisiert:
- Autor:
- Roland Golla
Was ist Twig?
<h1>{{ page.title }}</h1>
{% for product in products %}
<p>{{ product.name|upper }}</p>
{% else %}
<p>Keine Produkte gefunden.</p>
{% endfor %}
Inhalt
Twig mit NCA: Schnelle Hilfe vom Spezialisten
Symfony und Twig Beratung von Never Code Alone
Finde das passende Angebot für dein Projekt
Anfrage-Konfiguration
Starten Sie Ihre Anfrage
Gesetzliche Konformität & Inklusion. Optimierung von Performance und Conversion durch radikal nutzerzentriertes, universelles Design.
Skalierbare KI-Systeme mit echtem Code Ownership. CI/CD, Backup-Strategien und Infrastruktur, die mit deinem Team wächst.
Anfrage-Konfiguration
Worauf liegt dein Fokus?
Wähle die Expertise, die dein Projekt jetzt am dringendsten benötigt.
Neu in Twig 3.29: Documentation Comments
{## Zeigt den Titel der aktuellen Seite. ##}
{{ page_title }}
{## Rendert ein HTML Eingabefeld. ##}
{% macro input(name, value = null) %}
...
{% endmacro %}
{% types {
## Ob die Antwort richtig ist.
is_correct: 'boolean',
## Punkte für diese Antwort.
score?: 'number',
} %}
Metadaten für Editoren und Analyse Werkzeuge
Template Vererbung: extends, block und include
{# base.html.twig #}
<html>
<body>
{% block content %}{% endblock %}
</body>
</html>
{# page.html.twig #}
{% extends 'base.html.twig' %}
{% block content %}
<h1>Hallo</h1>
{% endblock %}
Autoescaping und Sandbox: Sicherheit ab Werk
Das types Tag: Templates sagen, was sie erwarten
{% types {
id: 'string',
multiple?: 'boolean',
default_value?: 'string|null',
} %}
Twig Syntax im Überblick
| Baustein | Schreibweise | Wofür |
|---|---|---|
| Ausgabe | Doppelte geschweifte Klammern | Variablen und Ausdrücke rendern |
| Tag | Klammer mit Prozentzeichen | Logik wie for, if, block, macro |
| Kommentar | Klammer mit Hash | Notiz ohne Ausgabe |
| Documentation Comment | Klammer mit zwei Hash Zeichen | Beschreibung als Metadatum ab 3.29 |
Twig in der NCA Praxis: Symfony und Sulu
Documentation comments do not change compiled output or rendering.
NCA Erfahrung mit Twig Projekten
Erreichen Sie unsere PHP Consultant Spezialisten
Wir sind Experten für PHP und helfen Ihnen, Ihre digitalen Herausforderungen zu meistern. Unser erfahrenes Team unterstützt Sie bei PHP Updates, PHP Refactoring und berät Sie remote zu allen Fragen rund um PHP. Mit unseren vollautomatischen CI/CD Deployments und einer robusten Docker-Infrastruktur bringen wir Ihre PHP-Projekte auf das nächste Level. Vertrauen Sie auf unsere Expertise für zuverlässige und skalierbare PHP-Lösungen.
Häufige Fragen zu Twig
Was ist Twig 2026 genau?
Twig ist die Template Engine für PHP, entwickelt von Fabien Potencier und veröffentlicht unter BSD Lizenz. Templates werden zu optimiertem PHP Code kompiliert und gecacht. Ausgaben werden standardmäßig escapet. In Symfony ist Twig die Standard Template Sprache, auch Sulu, Drupal und Shopware setzen darauf.
Welche Twig Version sollte man 2026 nutzen?
Die Serie 3.x. Twig 1 und 2 erhalten nur noch Sicherheitsupdates und sollten in neuen Projekten nicht mehr vorkommen. Innerhalb von 3.x lohnt es sich, aktuell zu bleiben: in den Releases von 2026 wurden mehrere Filter nachgeschärft, die HTML ausgaben und fälschlich als sicher markiert waren.
Was sind Documentation Comments in Twig 2026?
Eine ab Twig 3.29 verfügbare Schreibweise, um Blocks, Macros, Ausgaben und Variablen zu beschreiben. Sie nutzt die bekannten Twig Kommentare mit einem zusätzlichen Hash Zeichen und verändert den gerenderten Output nicht. Twig hängt den Text an die geparsten Nodes, wo Werkzeuge ihn auslesen können.
Ist Twig 2026 noch zeitgemäß gegenüber JavaScript Frontends?
Ja, für serverseitig gerenderte Anwendungen. Twig liefert fertiges HTML, das schnell ausgeliefert wird und ohne JavaScript funktioniert. In Kombination mit Symfony UX, Turbo oder HTMX lassen sich interaktive Teile ergänzen, ohne die ganze Anwendung als Single Page App zu bauen.
Wie sicher ist Twig 2026 gegen XSS?
Autoescaping ist standardmäßig aktiv und escapet Ausgaben für den HTML Kontext. Das entschärft einen großen Teil der klassischen Lücken. Kritisch bleiben der raw Filter und Filter, die HTML ausgeben. Beide gehören ins Code Review, ergänzt um regelmäßige Dependency Updates.
Was ist der Unterschied zwischen extends und include?
extends baut eine Vererbungsbeziehung auf: das Kindtemplate übernimmt das Grundgerüst und füllt einzelne Blöcke. include bindet ein eigenständiges Fragment an einer Stelle ein. Faustregel: Layout über Vererbung, wiederverwendbare Bausteine über include oder Macros.
Wofür ist das types Tag gut?
Es deklariert, welche Variablen ein Template erwartet und welchen Typ sie haben. Ein Name ohne Zusatz ist Pflicht, ein Fragezeichen macht die Variable optional. Für Komponenten Bibliotheken ist das die Grundlage, damit IDEs und statische Analyse überhaupt etwas prüfen können.
Sind Documentation Comments produktionsreif?
Sie sind in Twig 3.29 als experimentell markiert, Syntax und Metadaten API können sich noch ändern. Der Output bleibt in jeder Twig Version gleich, das Risiko ist also gering. Wir empfehlen den Einstieg in einem abgegrenzten Bereich statt einer projektweiten Umstellung.
Wie debuggt man Twig Templates?
Der Symfony Profiler zeigt gerenderte Templates und ihre Verschachtelung. Die dump Funktion gibt Variablen im Template aus, wenn die Debug Extension aktiv ist. Für Fehler in der Struktur hilft der lint Befehl, der Templates prüft, ohne sie zu rendern.
Kann man Twig ohne Symfony einsetzen?
Ja. Twig ist ein eigenständiges Composer Paket und lässt sich in jedes PHP Projekt einbinden. Man erzeugt einen Loader für das Template Verzeichnis und eine Environment Instanz. Symfony liefert lediglich die Integration mit Services, Übersetzungen und Routing mit.
Wie hält man Twig Templates wartbar?
Logik gehört in Services, nicht ins Template. Die Vererbungstiefe sollte flach bleiben. Wiederkehrende Bausteine gehören in Macros oder Components. Und vor jedem Aufräumen stehen Quality Gates: statische Analyse, Unit Tests, funktionale Tests und E2E Tests, sonst wird Refactoring zum Blindflug.
Wie unterstützt Never Code Alone bei Twig?
Wir beraten zur Einordnung und arbeiten in Symfony und Sulu Projekten direkt am Code mit. Typische Themen sind Template Architektur, Frontend Refactoring, Coding Standards und die passende Editor Umgebung. Der Einstieg ist ein kostenloses Kennenlernen, danach schätzen wir den Aufwand und rechnen minutengenau ab.