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.
{{ }}
)Twig verwendet doppelte geschweifte Klammern für die Ausgabe von Variablen:
<p>Hallo, {{ name }}!</p>
→ Wenn name = "Max"
ist, wird ausgegeben:
"Hallo, Max!"
{% %}
)Twig unterstützt if-else, Schleifen und andere Kontrollstrukturen:
{% 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>
Twig unterstützt das Konzept von "Base-Layouts", ähnlich wie Blade in Laravel.
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.
Man kann wiederverwendbare Teile wie Header oder Footer einbinden:
{% include 'partials/navbar.html.twig' %}
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") }}` |
Twig escapet HTML automatisch, um XSS-Angriffe zu verhindern:
{{ "<script>alert('XSS');</script>" }}
→ Gibt nur <script>alert('XSS');</script>
aus.
Möchtest du HTML ungefiltert ausgeben, nutze |raw
:
{{ "<strong>Fett</strong>"|raw }}
SonarQube ist ein Open-Source-Tool zur kontinuierlichen Analyse und Qualitätssicherung von Quellcode. Es hilft Entwicklern und Teams, die Codequalität zu bewerten, Schwachstellen zu identifizieren und Best Practices in der Softwareentwicklung zu fördern.
Codequalität prüfen:
Sicherheitslücken aufdecken:
Technische Schulden bewerten:
Unterstützung für viele Programmiersprachen:
Berichte und Dashboards:
SonarQube ist in einer kostenlosen Community-Edition und in kommerziellen Versionen mit erweiterten Funktionen verfügbar (z. B. für größere Teams oder spezielle Sicherheitsanalysen).
Exakat ist ein statisches Analyse-Tool für PHP, das speziell entwickelt wurde, um die Codequalität zu verbessern und Best Practices in PHP-Projekten sicherzustellen. Ähnlich wie Psalm konzentriert es sich auf die Analyse von PHP-Code, bietet jedoch einige einzigartige Funktionen und Analysen, um Entwicklern zu helfen, Fehler zu erkennen und ihre Anwendungen effizienter und sicherer zu machen.
Hier sind einige der Hauptfunktionen von Exakat:
Exakat kann als eigenständiges Tool oder in eine Continuous Integration (CI)-Pipeline integriert werden, um sicherzustellen, dass Code kontinuierlich auf Qualität und Sicherheit überprüft wird. Es ist ein vielseitiges Werkzeug für PHP-Entwickler, die ihren Code verbessern und auf einem hohen Standard halten möchten.