Symfony

PHP Framework

Symfony ist ein in PHP geschriebenes Webframework und eine Sammlung von wiederverwendbaren PHP-Komponenten/Bibliotheken. Symfony wurde im Oktober 2005 erstmals veröffentlicht.
PHP Application-Framework
MVC
Dependency Injection
Quadrant
Frameworks
Mein Level

Symfony wird seit 2005 unter der Führung von Fabien Potencier entwickelt. Es entstand parallel zur steigenden Popularität von Ruby on Rails und dem Wunsch nach einem ähnlichen MVC-Framework auf PHP-Basis. Symfony versucht die Konfiguration auf ein Minimum zu beschränken. Wenn keine Konfiguration dafür angegeben ist, erfolgt die Zuordnung von z. B. Models zu Datenbanktabellen über die Namensgleichheit in Singular und Plural (Konvention vor Konfiguration). Durch die Konsolenanwendung können einfache Webseiten mittels Rapid Application Development entwickelt werden.

Version 2 ist im Juli 2011 erschienen. Sie stellt eine Neuimplementierung dar, die sich gänzlich von Version 1 unterscheidet. Eine einfache Möglichkeit, Anwendungen von Version 1 nach Version 2 zu migrieren, existiert nicht. Das Framework besteht nun aus Modulen, sogenannten Bundles, welche voneinander vollkommen unabhängig lauffähig sind, aber nahtlos in den Framework-Prozess integriert werden können. Durch die Verwendung eines Dependency Injection Containers ist die gesamte Anwendung modular aufgebaut. Dies bewirkt eine einfache Testbarkeit und Erweiterbarkeit. Außerdem werden Namespaces unterstützt.

Merkmale von Symfony

  • Konfiguration mit YAML, Annotations, XML oder PHP
  • Datenbankzugriff über ORM-Layer
  • Scaffolding von CRUD-Interfaces
  • Request-Dispatcher und dynamisches Routing für Clean URLs
  • Templates auf Basis von Twig oder nativer PHP-Syntax
  • Helper vereinfachen die Arbeit in den Templates (Ajax, JavaScript, Formulare uvm.)
  • Mehrsprachigkeit und I18N-Support
  • Datenvalidierung über Constraints
  • Filtern von über Formulare eingespeistem Schadcode
  • Komponenten für Session-Verwaltung, Request-Handling und Security
  • Umfassendes Caching der Ausgabe
  • Pluginfähig mit Bundles

Symfony wird auch von weiteren Anwendungen genutzt

  • Drupal CMS ab Version 8
  • eZ Publish
  • Akeneo PIM-System
  • Pimcore PIM-System
  • Silex Web-Framework
  • Contao CMS ab Version 4
  • Shopware ab Version 5
  • Magento ab Version 2
  • Sylius eCommerce-Framework
  • TYPO3 CMS

Im TYPO3-Core kommen einige Symfony Komponeten zum Einsatz, diese nutze ich:
Config-Loader, Console, DependencyInjection, ExpressionLanguage, Commands, Finder, Mailer, Mime, HttpFoundation, PropertyAccess, PropertyInfo, Routing, VarDumper, Yaml-Loader


Weitere Informationen zu Symfony erhalten Sie unter:
symfony.com

Möchten Sie noch mehr erfahren?

Sie benötigen Hilfe bei ihrem Webprojekt?Lassen Sie uns gemeinsam ihr nächstes Projekt rocken!