Symfony (Framework)

Aus ArtisanCommerce Dokumentation
Version vom 16. Februar 2026, 19:46 Uhr von Admin (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „__TOC__ == Symfony Framework == '''Symfony''' ist eines der einflussreichsten und stabilsten PHP-Frameworks weltweit. Es wird von SensioLabs entwickelt und folgt dem Model-View-Controller-Muster (MVC). Im Gegensatz zu vielen monolithischen Frameworks besteht Symfony aus über 50 eigenständigen Komponenten, die unabhängig voneinander genutzt werden können. === Kernkonzepte === * '''Komponenten-basiert:''' Viele bekannte Projekte (wie Laravel,…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Symfony Framework

Symfony ist eines der einflussreichsten und stabilsten PHP-Frameworks weltweit. Es wird von SensioLabs entwickelt und folgt dem Model-View-Controller-Muster (MVC). Im Gegensatz zu vielen monolithischen Frameworks besteht Symfony aus über 50 eigenständigen Komponenten, die unabhängig voneinander genutzt werden können.

Kernkonzepte

  • Komponenten-basiert: Viele bekannte Projekte (wie Laravel, Drupal oder Magento) nutzen einzelne Symfony-Komponenten (z. B. `symfony/http-foundation` oder `symfony/routing`), ohne das gesamte Framework zu verwenden.
  • Dependency Injection (DI): Ein zentraler Service-Container verwaltet Abhängigkeiten, was den Code extrem modular, testbar und wartbar macht.
  • Event-Dispatcher: Ein System, das es ermöglicht, auf bestimmte Ereignisse im Lebenszyklus einer Anfrage zu reagieren – essenziell für die Plugin-Systeme von Shopware und UVdesk.

Warum Shopware und UVdesk auf Symfony setzen

Systeme wie Shopware 6 und UVdesk nutzen Symfony als Fundament aus mehreren Gründen:

  • Stabilität: Symfony folgt einem strikten Release-Zyklus mit langfristigem Support (LTS).
  • Performance: Durch Caching-Mechanismen und optimiertes Routing ist es auch für große Datenmengen geeignet.
  • Standardisierung: Entwickler, die Symfony beherrschen, finden sich in Shopware oder UVdesk sofort zurecht, da die Verzeichnisstruktur und die Konfiguration (YAML/PHP) identisch sind.


Aktuelle Features (v6 / v7)

  • PHP 8.2+ Support: Konsequente Nutzung von Attributes (statt Annotations), Enums und Readonly-Klassen.
  • AssetMapper: Eine moderne Art, JavaScript und CSS ohne die Komplexität von Webpack oder Vite zu verwalten.
  • Scheduler-Komponente: Natives Handling von cron-basierten Aufgaben direkt im Framework.
  • Runtime-Komponente: Ermöglicht es, Symfony-Apps ohne Code-Änderungen auf verschiedenen Laufzeiten (z. B. ReactPHP, Swoole oder klassischen Webservern) auszuführen.

Eignung

  • Enterprise-Anwendungen: Komplexe Plattformen mit hohen Anforderungen an Business-Logik.
  • E-Commerce & Helpdesks: Basis für skalierbare Shop-Lösungen und Ticket-Systeme.
  • Microservices: Dank der "Symfony Console" und schlanken Konfigurationen ideal für spezialisierte Dienste.