Symfony: Anleitungen und Praxiswissen | Seite 3 | mironsoft Blog
Symfony
-
24.02.2026
Eine Migration, die spontan eine Spalte umbenennt oder eine Tabelle sperrt, kann eine laufende Symfony-Anwendung mitten in der Rush Hour lahmlegen. Zero Downtime Datenbankmigrationen mit Doctrine folgen stattdessen dem Expand-Contract-Muster: Schema und Anwendung wachsen in kleinen, immer rückwärtskompatiblen Schritten. Dieser Artikel zeigt jeden Schritt konkret, von der ersten neuen Spalte bis zum sicheren Entfernen der alten.
-
23.02.2026
Wie du mit dem DoctrineFixturesBundle Fixture-Klassen mit Referenzen zwischen Entities baust, Fixture-Gruppen für dev und test trennst und mit Faker realistische Testdaten erzeugst.
-
18.02.2026
Eine bequeme Remember-Me-Funktion und eine sichere Session schließen sich nicht aus, wenn man die richtigen Bausteine kennt. Dieser Guide zeigt persistente Remember-Me-Tokens statt unsicherer signierter Cookies, Schutz vor Session-Fixation und eine Timeout-Strategie, die zur tatsächlichen Sensitivität der Anwendung passt.
-
18.02.2026
Symfony als Backend-Framework, API Platform als REST-Schicht und React als Frontend bilden einen Stack, bei dem jede Schicht ihre Stärken ausspielt. Das Ergebnis: eine typsichere Fullstack-Applikation, bei der der TypeScript-Client aus dem OpenAPI-Schema generiert wird und JWT-Authentifizierung sauber in beide Schichten integriert ist.
-
11.02.2026
Wer eine REST- oder GraphQL-API in Symfony von Hand aufbaut, schreibt Controller, Serializer-Konfigurationen, Pagination und Fehlerbehandlung selbst. API Platform 4 übernimmt das alles deklarativ — eine PHP-Klasse mit dem richtigen Attribut reicht, um eine vollständige API-Ressource mit Filterung, Pagination und OpenAPI-Dokumentation zu erhalten.
-
06.02.2026
Tailwind CSS v4 bringt einen fundamentalen Wandel: Konfiguration passiert jetzt in CSS statt in einer JavaScript-Datei. Für Symfony-Projekte mit Twig-Templates ändert das den gesamten Setup-Prozess — und bringt mit Vite als Asset-Pipeline und dem neuen Oxide-Engine deutlich schnellere Build-Zeiten.
-
31.01.2026
Ein API-Token im Klartext in der Datenbank ist eine tickende Zeitbombe. Dieser Leitfaden zeigt das vollständige Muster für API Token Authentifizierung in Symfony, von der sicheren Generierung über gehashte Speicherung bis zu Rotation, Scopes und einem funktionierenden Widerrufsmechanismus.
-
27.01.2026
Race Conditions in verteilten PHP-Anwendungen führen zu Doppelbuchungen, korrupten Daten und schwer reproduzierbaren Bugs. Symfony Lock mit Redis löst dieses Problem mit einem sauberen API für Distributed Locks — keine manuellen SETNX-Skripte, keine fragilen Datenbankzeilen-Locks, sondern eine getestete, automatisch ablaufende Sperre.
-
11.01.2026
WebTestCase simuliert einen Browser nur auf Basis des zurückgegebenen HTML und führt dabei keine einzige Zeile JavaScript aus, was bei Stimulus-Controllern, Symfony-UX-Live-Components oder Turbo-Interaktionen schlicht nichts testet. Symfony Panther schließt diese Lücke, indem es einen echten Chrome- oder Firefox-Prozess über das WebDriver-Protokoll steuert. Dieser Artikel zeigt, wann sich der Umstieg lohnt, wie Waiting und Screenshot-Debugging funktionieren und welche Performance-Tradeoffs dabei entstehen.
-
09.01.2026
Autowiring löst in Symfony den großen Teil der Abhängigkeiten automatisch anhand des Typs auf und ist zurecht der Standardweg für Constructor Injection. Sobald aber mehrere Services dasselbe Interface implementieren, etwa mehrere Zahlungsgateways oder mehrere Exportformate, kann der Container nicht mehr eindeutig entscheiden, welche konkrete Implementierung gemeint ist, und wirft einen Fehler zur Compile-Zeit. Dieser Artikel zeigt, wie ServiceLocator und das Attribut AutowireLocator für genau diesen Fall einen bewussten, expliziten und weiterhin testbaren Ausweg bieten, und warum das etwas grundlegend anderes ist als der klassische, injizierte Service-Container, der als Anti-Pattern gilt.