symfony

Das Symfony Framework – das Wichtigste im Überblick

Von am 23.02.2022

Das Symfony Framework, welches seit 2005 unter der Führung von Fabien Potencier entwickelt wird, ist eine beliebte Wahl für Programmierer und Programmierinnen für die Entwicklung von dynamischen Webseiten oder Webanwendungen. Aber was kann Symfony überhaupt und welche Vor-und Nachteile hat das populäre Framework? 

Was ist ein Framework eigentlich? 

Ein Framework ist eine Softwareplattform, welche ein Programmiergerüst für den Entwickler und die Entwicklerin zur Verfügung stellt. Das Gerüst stellt einige grundlegende und vorgefertigte Funktionen und Elemente zur Verfügung, auf die der Programmierer und die Programmiererin zugreifen können. 

Im Wesentlichen besteht ein Framework zum einen aus der Menge an vorgefertigten Softwarekomponenten, welche den Code und das Fehlerrisiko minimieren und zum anderen aus einem „Bauplan“, welcher einen strukturierten Ansatz für die Anwendung liefert.

Was ist Symfony? 

Symfony ist ein open-source PHP-Framework, welches den Entwicklern und Entwicklerinnen den Alltag beim Programmieren erleichtern sollen. Symfony weist rund 30 Komponenten – sogenannte Bundles – auf, welche heruntergeladen und im Code einfach integriert werden können. Zusätzlich zu den Standard-Komponenten bietet Symfony auch zusätzliche Module, welche das Framework erweitern oder auch einzeln nutzbar sind. Dadurch, dass das PHP-Framework open-source ist, gibt es mittlerweile über 600.000 Symfony-Entwickler und -Entwicklerinnen aus 120 verschiedenen Ländern. 

„Symfony is an Open Source distributed PHP framework. Of course, when you know how to develop in PHP, you don’t need a framework. However, it is very nice to have one!“

symfony.com

Eigenschaften von Symfony 

Durch die hohe Flexibilität und Vielseitigkeit hat das Framework eine hohe Populität und eine weite Verbreitung unter den Entwickler und Entwicklerinnen. Symfony kann sowohl für kleine und einfache Anwendungen verwendet werden als auch für große, komplexe Projekte. Abgesehen von den großen Vorteilen, wie die Erweiterung durch Bundles oder den vorgefertigten Komponenten, hat das PHP-Framework noch einige andere gute Eigenschaften. 

Konfiguration 

Symfony verwendet das Softwaredesign-Paradigma „Konvention vor Konfiguration“, welches darauf abzielt die Komplexität von Konfigurationen zu reduzieren. Die Konfiguration des Frameworks kann in XML, YAML, PHP oder in Annotations angegeben werden. 

Template-Engine „Twig“

Die Template-Engine kann verwendet werden, aber die Templates können auch in PHP geschrieben werden. Allerdings können durch Twig prägnante, lesbare Templates geschrieben werden, welche in vielen Aspekten leistungsfähiger als PHP-Templates sind. Die Template-Engine liefert standardmäßig eine Liste von Tags, Filtern und Funktionen, welche in den Templates verwendet werden können. Zusätzlich können auch eigene Twig-Filter und -Funktionen erstellt und verwendet werden. 

Konsolenanwendung

Durch die Konsolenanwendung können Command-Line Kommandos ausgeführt werden, welche zum Beispiel einfache Datenbank-Updates ermöglichen. Zusätzlich können auch eigene Kommandos erstellt werden, welche für alle wiederkehrenden Aufgaben verwendet werden, zum Beispiel Importe oder Cronjobs. 

Symfony Profiler

Ein weiteres Feature ist der Symony Profiler, welcher ein leistungsfähiges Entwicklungswerkzeug, welches detaillierte Informationen über die Ausführung jeder Anfrage liefert. Im Symfony Profiler ist auch die Debug Toolbar inkludiert, die sehr hilfreich und nützlich beim Debuggen und Optimieren ist. 

Die Vor- und Nachteile von Symfony 

Vorteile

Symfony ist mittlerweile eines der populärsten PHP-Lösungen und das liegt unteranderem an den vielen Vorteile, welche das Framework aufweist. Das sind ein paar Vorteile für Programmierer und Programmierinnen: 

  • Außergewöhnliche hohe Flexibilität
    • Die Komponenten von Symfony können einfach erweitert oder durch andere ersetzt werden. 
  • Rapid-Development
    • Durch fertige Bundles von üblichen Komponenten, wie der Admin-Bereich oder User-Verwaltung, ist die Integration einfach und schnell erledigt. 
  • Unabhängigkeit von Datenbanksystemen 
    • Das Framework übernimmt das Datenmanagement und vereinfacht so einen Datenbankwechsel. 
  • Performance
    • Durch die Caching-Funktionen von Symfony wird die Ladezeit maximiert. 
  • Saubere SEO-optimierte URLs
    • Die integrierte Routing-Technologie ermöglicht das Arbeiten mit sauberen URLs. 

Weitere Vorteile: 

  • Leichte Einbindung von externen Quellen oder eigenen PHP-Projekte
  • Sehr gute Dokumentation  
  • Hohe IT-Sicherheit durch integrierte Features
  • Einfaches Auslesen von Objekten aus einer Datenbank
  • Einfache Übergabe an das Template durch die Templat-Engine „Twig“
  • aktive Community
  • Aufgabenverteilung durch den Schichtenaufbau MVC
  • und so weiter…

Nachteile

Natürlich hat das Symfony Framework auch ein paar Nachteile, welche konstruktionsbedingt sind und aus nötigen Kompromissen und Abwägungen entstanden sind: 

  • Zu hohe Komplexität bei einfachen oder kleinen PHP-Projekten
  • Begrenzte Abwärtskompatibilität
  • Externe Informationen sind zum Teil veraltet 
  • Eigene Bundles können zu Problemen führen 
  • Größerer Aufwand bei der Einarbeitung in das Framework 

Nützliche Links

Symfony Download

Symfony Dokumentation

Symfony Tutorial Tag 1

Symfony Tutorial Tag 2

The comments are closed.