Teil 5: Serie: PHP-Frameworks Teil 2 - Symfony im Detail
- Serie: PHP-Frameworks Teil 2 - Symfony im Detail
- Teil 2: Serie: PHP-Frameworks Teil 2 - Symfony im Detail
- Teil 3: Serie: PHP-Frameworks Teil 2 - Symfony im Detail
- Teil 4: Serie: PHP-Frameworks Teil 2 - Symfony im Detail
- Teil 5: Serie: PHP-Frameworks Teil 2 - Symfony im Detail
Nahezu alle Konfigurationsdateien sind im YAML-Format gespeichert. Dieses einfache Textformat kommt fast ohne Meta-Informationen aus und ist dadurch besonders übersichtlich und für Konfigurationsdateien bestens geeignet. Alle Konfigurationsparameter lassen sich zudem für jede Umgebung getrennt ...
Nahezu alle Konfigurationsdateien sind im YAML-Format gespeichert. Dieses einfache Textformat kommt fast ohne Meta-Informationen aus und ist dadurch besonders übersichtlich und für Konfigurationsdateien bestens geeignet.
Alle Konfigurationsparameter lassen sich zudem für jede Umgebung getrennt vornehmen. Sie können beispielsweise Einstellungen abhängig vom Einsatzort einer Anwendung vornehmen. So kann die Entwicklungsversion auf einem lokalen Entwicklungssystem andere Einstellungen besitzen, als die Produktivversion auf einem externen Server.
Symfony macht von dieser Unterscheidungsmöglichkeit bereits standardmäßig Gebrauch. So sind beispielsweise in der Entwicklungsversion Debugging-Ausgaben und Logging aktiviert und das Caching deaktiviert, während es sich in der Produktivversion genau umgekehrt verhält.
Erweiterbar
Die Macher von Symfony versuchen erst gar nicht alle denkbaren Funktionen in den Kern des Frameworks zu integrieren. Stattdessen wurde von Beginn an eine sehr flexible Möglichkeit für Erweiterungen geboten, die sich an vielen Stellen des Programmablaufs einnisten können.
Bereits sehr früh wurden aus diesem Grund erste Plugins von Community-Entwicklern programmiert. Bis heute sind über 400 Erweiterungen entstanden, die von einfachen und alltäglichen Dingen bis hin zu fertigen Systemen wie Content-Management-Systemen oder Blog-Anwendungen reichen.
Alle Erweiterungen werden in einem separaten Repository verwaltet, das neben der Dokumentation und Installationsanleitung auch einen Download für die verschiedenen Framework- Versionen bietet.
Für eigene Projekte lässt sich Symfony ebenfalls sehr einfach erweitern. Über die Konfigurationsdatei factories.yml lassen sich Implementierungen des Frameworks durch eigene ersetzen. So ist es beispielsweise möglich wichtige Bestandteile wie das Caching, das Speichern von Sessions, die Controller oder andere Klassen an eigene Bedürfnisse anzupassen, ohne dazu die Implementierung von Symfony selbst zu verändern.
Fazit
Symfony merkt man an, dass über die Jahre sehr regelmäßig und intensiv daran entwickelt wurde. Trotz allem versucht das Framework nicht den unmöglichen Spagat alles in die Kernfunktionen des Frameworks zu packen, vieles wurde stattdessen in Plugins ausgelagert.

Die vorhandenen Funktionen des Frameworks erleichtern die Entwicklung von PHP-Anwendungen immens, sodass die Produktivität im Vergleich klassischer PHP-Programmierung deutlich verbessert wird.
Die gute Dokumentation und die große und sehr rührige Community trägt ebenfalls dazu bei, dass sich immer mehr Entwickler für dieses Framework als Basis entscheiden. Gerade in Deutschland und Frankreich hat Symfony viele Anhänger. Das Gesamtpaket aus Funktionalität, Dokumentation, Support und Community lässt Symfony zu einer sicheren und guten Wahl als Plattform für eine Webanwendung werden.
Die Entwicklung mit Symfony krankt letztendlich nur an den typischen Problemen unter denen alle großen Frameworks leiden. Man muss sich bei der Entwicklung einer Anwendung immer darüber im Klaren sein, dass das Ergebnis nie so performant sein kann, wie eine manuell optimierte Lösung.
Die Umsetzung verschiedener großer Publikums-Webseiten wie beispielsweise Yahoo Answers oder Yahoo Bookmarks beweist aber, dass Symfony durchaus für Seiten mit hohem Traffic geeignet ist.