Code-Symfony

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 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.

PHP-Frameworks Teil II - Symfony

© Archiv

Im Symfony-Plugin-Repository stehen zahlreiche Erweiterungen bereit.

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.

Mehr zum Thema

HTML5: Quick Reference Guide
Ratgeber: "HTML5"

Die wichtigsten Tags auf einen Blick: In unserem praktischen Arbeitsblatt finden Sie einen wertvollen Begleiter für die Umstellung Ihrer Webprojekte…
internet, webdesign, google, content, ranking, seo, suchmaschine
Ratgeber: Urheberrecht

Einzigartige Inhalte bieten Lesern Mehrwert und sind ein wichtiges Qualitätsmerkmal. Ärgerlich, wenn sich jemand durch Kopieren an fremden…
Die besten HTML5-Tipps
Neue Tipps & Tricks für blitz.io

Wer die Leistung einer Applikation ermitteln möchte, braucht keine Skripte zu schreiben, sondern kann einen der zahlreichen Online-Dienste…
image.jpg
Ratgeber: Webentwicklung

Die clientseitige Javascript-Entwicklung bietet fast keine Entwicklungsumgebungen und auch keine vernünftigen Werkzeuge zur Fehlersuche. Eine der…
internet, webdesign, meteor, webapplikationen
Ratgeber

Mit Meteor sollen Entwickler in kurzer Zeit Umgebungen für Webapplikationen erstellen können, ohne sich um lästige Details kümmern zu müssen. Wir…