Symfony Framework

Symfony ist ein in PHP geschriebenes MVC-Framework (Model-View-Controller), zur Erstellung von Webseiten und Internetanwendungen und wiederverwendbaren Elementen umgesetzt. Symfony wurde am 18. Oktober 2005 unter der MIT-Lizenz von SensioLabs veröffentlicht. Version 2 erschien im Juli 2011 und stellt eine Neuimplementierung dar, die sich von Version 1 komplett unterscheidet.

Download der aktuellsten Version

Das Framework besteht aus Modulen - sogenannten Bundles - welche voneinander vollkommen unabhängig lauffähig sind, jedoch nahtlos in den Framework-Prozess integriert werden können. Dabei versucht Symfony die Konfiguration (mit YAML, Annotations, XML oder PHP) auf ein Minimum zu reduzieren. Das Templateing (Frontend) erfolgt dabei auf Basis von Twig oder nativer PHP-Syntax.

Bundles

Bundles sind voneinander getrennte Einheiten / Elemente einer Webapplikation. So werden Kontaktformulare als eigenständige Bundles realisiert, die alle revelanten Daten und Anbindungen - Ressourcen wie Grafiken, Scripte und Styles, sowie Datenbankanbindung - enthalten, um eigenständig laufen zu können. Entwickelte Bundles können auf verschiedenen Plattformen, oder eigenen Stores veröffentlicht werden, sodass andere Benutzer diese Applikationen ohne Code- bzw. Funktionsänderungen nutzen können.

Symfony arbeitet in mehreren Schichten, nach dem Model-View-Controller Prinzip.

Zu den häufigsten Anwendungen von Symfony gehören neben Shopware und Oxid auch Drupal, Contao, Magento oder Sulu CMS.

Quelle: Wikipedia.de

symfony-logo_sw

Symfony - MVC-Framework

Model

Zur Speicherung von Objekten kommen zwei Plugins zum Einsatz: Doctrine und Propel. Dabei handelt es sich um Bibliotheken zur objektrelationalen Abbildung, die PHP-Objekte in einer relationalen Datenbank speichern.

View

Unter View versteht man die Präsentationsschicht - also das Frontend der Applikation. In Views werden mit Hilfe des Controllers Inhalte bereitgestellt, die Templates zur Ausgabe einbeziehen. Das Template wird in der Regel mit der template Engine Twig realisiert, kann aber auch in nativer PHP-Syntax erfolgen. 

Controller

Der Controller bietet Schnittstellen in Form von Methoden, die mit der Logik arbeiten. Diese Schnittstellen werden in anderen Frameworks auch Actions genannt. Es können auch Parameter übergeben werden. Die Struktur der URLs kann mit Hilfe von Routen flexibel angepasst werden.

View