Zum Inhalt springen
Akinware
Bildschirm mit farbig hervorgehobenem Quelltext

Was ist Symfony?

Symfony ist das PHP-Framework für Anwendungen mit eigenen Regeln und langem Leben. Seine Bausteine stecken sogar in Laravel, Drupal und Shopware. Was dahinter steckt und wann es die richtige Wahl ist.

Lesezeit
8 Minuten
Autor
Samet Akin
Veröffentlicht

Was ist Symfony?

Die meisten Frameworks sind ein Fertighaus: Grundriss steht, man richtet ein. Symfony ist eher ein Baumarkt mit sehr gutem Sortiment. Es besteht aus Dutzenden eigenständigen Komponenten, eine fürs Routing, eine für Formulare, eine für Sicherheit, eine für die Kommandozeile, und jede lässt sich einzeln oder im Verbund nutzen. Wer eine komplette Anwendung baut, nimmt das Gesamtpaket. Wer nur einen Baustein braucht, nimmt nur den.

Diese Bauweise hat Symfony zu einer besonderen Rolle in der PHP-Welt verholfen: Es ist das Fundament unter vielen anderen Systemen. Das Redaktionssystem Drupal baut darauf auf, das Shopsystem Shopware ebenso, und selbst Laravel, der größte Konkurrent, nutzt mehrere Symfony-Komponenten. Wer PHP-Software einsetzt, nutzt mit einiger Wahrscheinlichkeit Symfony, ohne es zu wissen.

So sieht ein Ausschnitt aus einer Symfony-Anwendung aus, hier eine Route, die eine Rechnung als Daten für eine Oberfläche liefert:

#[Route('/rechnungen/{nummer}', name: 'rechnung_zeigen')]
public function zeige(string $nummer): Response
{
    $rechnung = $this->rechnungen->findeNachNummer($nummer);

    return $this->json($rechnung);
}
// Die Zuordnung von Adresse zu Methode steht
// direkt am Code, nicht in einer separaten Datei

Wie funktioniert Symfony?

Im Kern verarbeitet Symfony Anfragen nach einem klaren Muster: Eine Adresse kommt herein, das Routing findet den zuständigen Controller, der ruft Dienste auf und gibt eine Antwort zurück. Die Dienste, also die eigentliche Logik, verwaltet ein Container, der jedem Baustein automatisch das reicht, was er braucht. Das klingt technisch, bewirkt aber etwas sehr Praktisches: Die Fachlogik liegt in eigenständigen, testbaren Klassen, unabhängig von Oberfläche und Datenbank.

Genau diese Trennung ist der Grund, warum Symfony bei komplexer Fachlogik glänzt. Eine Preisberechnung mit Kundengruppen, Staffeln, Rahmenverträgen und Ausnahmen liegt als eigener Teil der Anwendung vor. Shop, Innendienst und Kundenportal rufen dieselbe Berechnung auf, statt sie dreimal nachzubauen, und ein automatischer Test prüft sie bei jeder Änderung. Ändert sich eine Vertragsregel, wird sie an einer Stelle geändert und überall wirksam.

Der zweite Pfeiler ist die planbare Pflege. Symfony nennt für jede Version im Voraus, wie lange sie unterstützt wird: Alle zwei Jahre erscheint eine Fassung mit langer Unterstützung, üblicherweise mit drei Jahren Fehlerbehebung und vier Jahren Sicherheitsaktualisierungen. Für den Betrieb einer Anwendung, die zehn Jahre leben soll, ist dieser Kalender mehr wert als jedes Feature.

Wozu wird Symfony verwendet?

Symfony ist zu Hause, wo Software eigene Regeln abbildet und lange lebt. Typische Einsatzgebiete sind:

  • Fachanwendungen mit eigener Logik, etwa Preisfindung, Genehmigungswege oder Prüfvorschriften
  • Webanwendungen, die über viele Jahre gepflegt und erweitert werden
  • Schnittstellen, die mehrere Systeme mit derselben Geschäftslogik versorgen
  • Erweiterungen für Systeme, die auf Symfony aufbauen, allen voran Shopware 6
  • Einzelne Komponenten in fremden Projekten, vom Formular bis zur Konsole

Bei uns kommt Symfony dann ins Spiel, wenn die Fachlogik das eigentliche Produkt ist oder das Umfeld es nahelegt, etwa bei Onlineshops auf Shopware-Basis, deren Erweiterungen denselben Mustern folgen. Für die überschaubare Verwaltungsanwendung greifen wir dagegen häufiger zu Laravel, das schneller am Ziel ist. Diese Ehrlichkeit gehört zur Beratung dazu.

Die Geschichte von Symfony

Symfony ist der Veteran unter den PHP-Frameworks. Die französische Agentur SensioLabs um Fabien Potencier entwickelte es zunächst für eigene Kundenprojekte und veröffentlichte es 2005 als freie Software. Den entscheidenden Schnitt brachte 2011 die komplett neu geschriebene Version 2: Aus dem Framework wurde eine Sammlung eigenständiger Komponenten, und genau diese Entscheidung machte Symfony zum Fundament der halben PHP-Welt. Bis heute steuert Potencier das Projekt, getragen von einer der größten Communities im PHP-Umfeld.

Erschienen
2005
Entwickelt von
SensioLabs um Fabien Potencier
Sprache
PHP
Lizenz
Quelloffen und kostenlos (MIT)
Steckt in
Drupal, Shopware, Teilen von Laravel

Zwanzig Jahre im Fundament

Hände auf einer Tastatur vor einem Bildschirm mit Code

Agenturprojekt wird frei

SensioLabs veröffentlicht sein internes Framework als freie Software. PHP-Frameworks sind damals Neuland, Symfony gehört zu den ersten ernsthaften Vertretern.

2005

Die Grenzen von Symfony

Die Freiheit von Symfony ist zugleich seine größte Hürde. Wer es einsetzt, sollte diese Punkte kennen:

  • Der Start kostet mehr: Symfony verlangt Entscheidungen, die andere Frameworks längst getroffen haben, und das bezahlt man bei kleinen Projekten ohne Gegenwert
  • Die Lernkurve ist steiler: Konzepte wie der Dienste-Container wollen verstanden sein, bevor die Arbeit flüssig wird
  • Für Oberflächen, die sich laufend ohne Neuladen ändern, braucht es zusätzlich eine JavaScript-Schicht, Symfony liefert dann die Schnittstelle dahinter
  • Für reine Inhaltsseiten ist es das falsche Werkzeug, dort ist ein Redaktionssystem der kürzere Weg

Kurz gesagt: Symfony belohnt Projekte, die seine Gründlichkeit brauchen, und bestraft Projekte, die sie nicht brauchen. Die Kunst liegt darin, vorher ehrlich zu unterscheiden.

Symfony oder Laravel?

Wer bei dieser Frage angekommen ist, hat die wichtigste Entscheidung meist schon getroffen: PHP ist gesetzt. Jetzt geht es um den Charakter des Projekts, und dafür hilft ein anderer Blick als der übliche Feature-Vergleich. Fragt euch, was in fünf Jahren das größere Risiko wäre:

  • Wenn das Risiko lautet, dass die Anwendung zu langsam entsteht und zu viel kostet, spricht das für Laravel mit seinen fertigen Bausteinen
  • Wenn das Risiko lautet, dass komplexe Fachregeln im Framework-Schema verbogen werden, spricht das für Symfony und seine Trennung von Logik und Rahmen
  • Wenn der Betrieb über viele Jahre planbar sein muss, punktet Symfony mit angekündigten Wartungszeiträumen
  • Wenn ihr bereits Shopware oder Drupal einsetzt, ist Symfony ohnehin schon im Haus und die Muster sind vertraut

Feindliche Lager sind das nicht: Laravel baut auf Symfony-Komponenten auf, beide sind ausgereift, beide werden lange gepflegt. Im Mittelstand ist Laravel häufiger die wirtschaftliche Wahl, aber sobald die Fachlogik das Geschäft trägt, dreht sich das Bild. Wie wir im Einzelfall entscheiden, steht auf unserer Seite zur Symfony-Entwicklung.

Symfony aus Kundensicht

Für Auftraggeber ist Symfony vor allem ein Versprechen an die Zukunft. Die angekündigten Wartungszeiträume machen aus der Frage, wann die nächste große Aktualisierung fällig ist, einen Kalendereintrag statt einer Überraschung. Das erlaubt ehrliche Betriebskosten über Jahre, und genau daran scheitern viele Individualprojekte sonst. Dazu kommt die Testbarkeit: Fachlogik, die als eigener Baustein vorliegt, lässt sich automatisch prüfen, und das senkt die Kosten jeder späteren Änderung.

Auf der anderen Seite steht der höhere Einstiegspreis. Ein Symfony-Projekt braucht am Anfang mehr Konzept und mehr erfahrene Entwickler als ein Laravel-Projekt gleicher Größe. Beim Dienstleisterwechsel hilft dagegen wieder die Verbreitung: Symfony-Kenntnisse sind in der PHP-Welt Standardwissen, und weil das Framework klare Konventionen hat, findet sich ein neues Team in einem sauber gebauten Projekt gut zurecht. Fragt einen Anbieter ruhig, warum er Symfony statt etwas anderem vorschlägt. Die Antwort zeigt schnell, ob er euer Projekt oder sein Lieblingswerkzeug im Kopf hat.

Lohnt sich Symfony noch?

Nach zwanzig Jahren ist die Frage berechtigt, und die Antwort fällt eindeutig aus: ja. Symfony ist nicht trotz seines Alters relevant, sondern wegen der Rolle, die es sich damit erarbeitet hat. Es steckt als Fundament in Drupal, Shopware und Teilen von Laravel, und solange diese Systeme leben, wird Symfony gepflegt. Ein Framework mit dieser Verankerung verschwindet nicht, es altert höchstens in Würde.

Die Entwicklung steht dabei nicht still: Jedes Jahr erscheinen neue Versionen, die Werkzeuge für moderne Oberflächen und Schnittstellen wachsen mit. Wer heute eine Fachanwendung in PHP plant, die 2035 noch laufen soll, macht mit Symfony keinen Fehler. Und wer noch grundsätzlicher vergleichen will, etwa mit der JavaScript-Welt rund um Node.js und NestJS, findet in dieser Artikelserie die passenden Gegenstücke.

Was Symfony stark macht

Bildschirm mit einem Ablaufdiagramm aus verbundenen Knoten

Bausteine statt Fertighaus

Dutzende eigenständige Komponenten lassen sich frei kombinieren. Die Anwendung folgt euren Regeln, nicht dem Schema des Frameworks.

Schaubild mit einem Vorhängeschloss vor einem Schutzschild

Wartung mit Kalender

Jede Version hat einen angekündigten Pflegezeitraum. Der Betrieb über Jahre wird planbar statt zur Überraschung.

Bildschirm mit einem Dashboard voller Diagramme und Kennzahlen

Fachlogik als Kern

Preisfindung oder Genehmigungswege liegen als eigene, testbare Bausteine vor. Alle Systeme nutzen dieselbe Berechnung.

Bildschirm mit einer Tabellenansicht voller Datensätze

Fundament vieler Systeme

Drupal, Shopware und Teile von Laravel bauen auf Symfony auf. Das Wissen darum ist weit verbreitet und veraltet nicht.

Was wir mit Symfony bauen

Symfony nehmen wir, wenn die Fachlogik das Produkt ist und die Anwendung auf Jahre laufen soll.

  • Laptop mit einer Anmeldemaske für ein Kundenportal

    Webanwendungen

    Fachanwendungen mit eigenen Regeln, von der Preisfindung bis zum Genehmigungsweg, sauber getrennt und testbar.
  • Laptop mit einem Onlineshop und einer Produktübersicht

    Onlineshops

    Shopware 6 baut auf Symfony auf. Eigene Preis-, Versand- oder Freigabelogik im Shop folgt denselben Mustern.
  • Laptop auf einem Schreibtisch, daneben eine Tasse und ein Headset

    Beratung

    Wir prüfen ehrlich, ob euer Projekt die Gründlichkeit von Symfony braucht oder mit Laravel schneller fährt.

Häufige Fragen

Was kostet Symfony?

Das Framework ist quelloffen und kostenlos, auch im kommerziellen Einsatz. Kosten entstehen für Entwicklung und Betrieb. Der Start ist meist teurer als mit Laravel, dafür sind die Betriebskosten über Jahre gut planbar.

Was sind Symfony-Komponenten?

Eigenständige Bausteine für einzelne Aufgaben, etwa Routing, Formulare oder Mailversand. Sie funktionieren auch außerhalb von Symfony, weshalb andere Systeme wie Laravel und Drupal sie übernommen haben, statt eigene zu bauen.

Ist Symfony veraltet?

Nein. Symfony erscheint in einem festen Jahresrhythmus mit neuen Versionen und ist das Fundament aktueller Systeme wie Shopware 6. Das Alter ist hier ein Qualitätsmerkmal: zwanzig Jahre Pflege, ohne die Nutzer je im Regen stehen zu lassen.

Ist Symfony schwerer zu lernen als Laravel?

Der Einstieg dauert länger, weil Symfony mehr Konzepte voraussetzt und weniger vorentscheidet. Dafür zwingt es zu einer Struktur, die bei großen Anwendungen trägt. Für Entwickler mit Framework-Erfahrung ist beides gut erlernbar.

Wer nutzt Symfony?

Direkt nutzen es unzählige Unternehmen und Behörden in Europa, indirekt fast jeder, der Drupal, Shopware oder Laravel einsetzt. In Frankreich, dem Heimatmarkt, gehört es praktisch zur Grundausstattung von Softwareprojekten.

Brauche ich Symfony für meine Webseite?

Für eine normale Firmenseite nicht, dort ist ein Redaktionssystem oder ein moderner Webseiten-Stack der kürzere Weg. Symfony lohnt sich, wenn hinter der Seite eine Anwendung mit eigener Logik steckt, etwa ein Portal oder eine Preisberechnung.

Was hat Symfony mit Shopware zu tun?

Shopware 6 baut auf Symfony auf. Wer den Shop erweitern will, etwa mit eigener Preis- oder Versandlogik, arbeitet dabei mit Symfony-Mustern. Symfony-Erfahrung ist deshalb die halbe Miete bei Shopware-Projekten.

Weiterlesen

  • Laptop mit farbigem Quelltext in einem dunklen Raum

    Was ist Laravel?

    Laravel ist das meistgenutzte PHP-Framework und bringt Anmeldung, Datenbank und Verwaltungsbereich fertig mit. Woher es kommt, was es gut kann und wann Symfony die bessere Wahl ist, verständlich erklärt.
  • Laptop mit farbigem Quelltext in einem dunklen Raum

    Was ist PHP?

    PHP ist die Sprache, die auf dem Server Webseiten zusammenbaut, und steckt hinter WordPress, Shopware und Wikipedia. Woher sie kommt, was sie leistet und ob sie noch zeitgemäß ist, verständlich erklärt.
  • Schreibtisch mit Laptop, Tasse und Notizblock

    Was ist Payload?

    Payload ist ein Headless-CMS in TypeScript, das direkt in einer Next.js-Anwendung mitläuft: Webseite und Inhalte sind ein Projekt. Wie das funktioniert, woher es kommt und wann Strapi oder WordPress besser passen, verständlich erklärt.

Kontakt und kostenlose Beratung

Hände tippen auf einer Laptop-Tastatur, daneben eine Tasse Kaffee
Telefon0208 78015410E-Mailinfo@akinware.com
Adresse
Huyssenstraße 6G, 46119 Oberhausen
Worum geht es