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