#ratgroup-it

Wir veredeln openSource Content-Management-Systeme


Starte Jetzt

Symfony – das WebFrame­Work

Symfony ist ein in PHP geschriebenes WebFrameWork. Erscheinungsjahr 2005, unter der MIT-Lizenz veröffentlicht erfreut sich Symfony einer
anhaltenden Beliebtheit, wenn es nach dem Model-View-Controller Prinzip (MVC) um die Entwicklung performanter und stabiler Webapplication geht.

Ich selbst verwende sehr gern Symfony für die Entwicklung von API-Lösungen. Eine große Anzahl an wiederverwertbaren PHP Komponenten/Bibliotheken macht das entwicklen zum Kinderspiel. Seit jeher, wird auf einen minimalen Konfigurationsaufwand sehr viel Wert gelegt, so dass es in kurzer Zeit möglich ist, lauffähige Anwendungen zu erstellen.

Die wichtigsten Merkmale von Symfony – Übersicht:

  • Konfiguration mit YAML, XML, Annotations oder PHP
  • Datenbankzugriff über ORM-Layer
  • Templates auf Basis von TWIG oder natives PHP
  • Mehrsprachigkeit und I18N-Support
  • Datenvalidierung über Constraints
  • Umfangreiches Sessionmanagement & -security
  • Umfassendes Caching der Ausgabe
  • Pluginfähig mittels Bundles
  • flexibles URL-Routing
  • Web-Security
  • Rollen/Rechte System
  • Staging fähig

Die Komponenten werden in der Symfony-Welt als Bundles bezeichnet. Kurz kann man die Bundles als voneinander gelösten Einheiten einer Webapplication betrachten.

Model:
Das Model dienst zur Abbildung und Speicherung der Objekte. Umgesetzt wird diese Anforderung mit der Komponente Doctrine. Hierbei handelt es sich um eine Bibliothek zur objektrelationalen Abbildung der PHP-Objekte in einer relationalen Datenbank.

View:
Unter View versteht man die Präsentationsschicht der Applikation. In dieser Schicht werden mit Hilfe der Controller Inhalte bereitgestellt. Formatiert und aufbereitet werden diese oftmals in Templates vorgehalten. In den Templates wird in der Auszeichnungssprache HTML/CSS, JavaScript und auch TWIG-Code zur Ausgabe verwendet. An dieser Stelle kann sich jeder WebDesigner austoben.

Controller:
Der Controller formuliert die Geschäftslogik und bietet Schnittstellen in Form von definierten Methoden, die mit der View-Schicht interagieren.

Das aktuelle WebFrameWork von Symfony ist in der Version 4.4 mit LTS (Long Term Support) bis November 2022 verfügbar. Trotz der relativ kurzen Lebenszyklen von Software hat man in Symfony mit LTS einen stabilen und mit Features- und Securityupdates versorgte WebFrameWork, mit dem man planen kann.

Große Webapplicationen, wie zum Beispiel Drupal (ab Version 8) oder Shopware, selbst Cantao sind im Grunde Symfony Anwendungen.

Wenn es darum geht, Ideen oder speziellen Unternehmsanforderungen in Software zu gießen, ist Symfony die erste Wahl.

TIPP: Soll es noch schneller in der Umsetzung von Webapplikationen gehen, ist meine Geheimwaffe „CodeIgniter“. Auch als kleine fiese Schwester von Symfony bezeichnet. CodeIgniter ist ein leistungsstarkes PHP-Framework mit sehr geringem Platzbedarf, das für Entwickler entwickelt wurde, die ein einfaches und elegantes Toolkit benötigen, um Webanwendungen mit vollem Funktionsumfang zu erstellen.

Die wichtigsten Merkmale von Codeigniter:

  • Framework mit geringem Platzbedarf
  • Einfache Lösungen über Komplexität (CodeIgniter unterstützt MVC, erzwingt dies jedoch nicht.) geeignet für den Start als Programmierer
  • Klare Dokumentation
  • Außergewöhnliche Leistung
  • Starke Sicherheit (Features: Sicherheit mit integrierten Schutz vor CSRF- und XSS-Angriffen)
  • Fast keine Konfiguration (Ein Großteil der CodeIgniter-Konfiguration wird konventionell durchgeführt. Es gibt noch eine Reihe von Konfigurationsoptionen, die über Skripte im Ordner „config“ verfügbar sind.)
  • Es ist sogar möglich den Datenbankzugriff über Doctrine ORM-Layer zu lösen. Im einfachen Fall wird aber natives SQL über mysqli oder PDO verwendet.
  • Staging fähig

Das aktuelle Entwicklertool liegt in der Version 4 vor. Schaut man sich den Core dieses Framework an, sieht man das CodeIgniter aus den Kinderschuhen herausgewachsen ist und eine ernsthafte Alternative zu Symfony wird.


Sprechen Sie uns an!

Bei der Entwicklung von Web-Applicationen setzen wir seit mehreren Jahren auf Symfony. Durch seine Flexibilität und Stabilität ermöglicht Symfony für verschiedene Vorgehensmodelle eine schnelle, robuste und zukunftssichere Entwicklung von neuen Projekten.