Symfony: Anleitungen und Praxiswissen | Seite 2 | mironsoft Blog
Symfony
-
02.04.2026
Wer E-Mails in PHP mit Swift Mailer oder rohem PHP mail() versendet, kämpft mit fehlendem Queuing, unkontrollierbaren SMTP-Verbindungen in Tests und unleserlichem Template-Code. Symfony Mailer löst das vollständig — typsichere E-Mail-Objekte, Twig-Templates, pluggable Transports, DKIM-Signierung und saubere Test-Isolation ohne SMTP-Server.
-
01.04.2026
Jedes Symfony-Deployment, das die Anwendung kurzzeitig in einen inkonsistenten Zustand versetzt, ist ein vermeidbares Risiko. Deployer PHP löst das mit Atomic Symlinks: Der neue Release ist vollständig gebaut und bereit, bevor ein einziger Request darauf trifft — der Symlink-Swap dauert Millisekunden und macht einen Rollback trivial.
-
23.03.2026
Einfache String-Ersetzungen reichen für echte Mehrsprachigkeit nicht aus. Pluralformen, Geschlechtsanpassungen, Datums- und Zahlenformate nach Locale und kontextabhängige Meldungen brauchen das ICU Message Format — das die Symfony-Translation-Komponente seit Version 5 vollständig unterstützt.
-
19.03.2026
Paginierung wirkt zunächst wie ein triviales Detail, entscheidet in API Platform aber über Antwortzeiten bei großen Tabellen, Konsistenz während paralleler Schreibzugriffe und Ergonomie für Client Entwickler. Wer nur die Standard Offset Paginierung kennt, verschenkt Performance und riskiert doppelte oder fehlende Datensätze bei stark frequentierten Endpunkten.
-
17.03.2026
Hundert Prozent Code Coverage sagt nichts darüber aus, ob Tests tatsächlich Bugs erkennen würden. Mutation Testing mit Infection schleust künstlich kleine Fehler in den Symfony Code ein und prüft, ob die Testsuite jeden einzelnen davon zuverlässig auffängt.
-
13.03.2026
Controller, die gleichzeitig Daten schreiben, lesen, transformieren und zurückgeben — das ist der Normalzustand in vielen Symfony-Projekten. CQRS trennt diese Verantwortlichkeiten konsequent: Commands ändern Zustand, Queries lesen Daten. Das Resultat ist wartbarer, testbarer und skalierbarer Code.
-
12.03.2026
API Platform generiert aus jeder Ressource automatisch Queries und Mutations, doch sobald eine Aktion mehrere Ressourcen kombiniert oder Echtzeit Updates gefragt sind, braucht es einen eigenen GraphQL Resolver. Dieser Artikel zeigt, wie Query Resolver, Mutation Resolver mit dedizierten Input Klassen und Mercure basierte Subscriptions in API Platform zusammenspielen.
-
07.03.2026
Sobald eine Anwendung Nachrichten asynchron per Symfony Messenger verarbeitet, ist eine fehlschlagende Nachricht keine Ausnahme, sondern der Normalfall: Ein externer Dienst ist kurz nicht erreichbar, eine Datenbank-Verbindung bricht ab, oder ein Worker wird während der Verarbeitung neu gestartet. Wer sich blind auf die Standardeinstellungen verlässt, verliert entweder Nachrichten, weil sie zu früh aufgegeben werden, oder überlastet ein bereits angeschlagenes System mit zu häufigen Wiederholungsversuchen. Dieser Artikel erklärt, wie die Retry-Strategie von Messenger im Detail funktioniert, wie der Failed-Transport als zweite Sicherheitsebene arbeitet, und wie man beide Mechanismen gezielt für den eigenen Anwendungsfall konfiguriert.
-
04.03.2026
Symfony 7 ist die erste Major-Version seit Symfony 5, die PHP 8.2 als Mindestanforderung setzt und eine Reihe lange deprecateter APIs endgültig entfernt. Gleichzeitig bringt Symfony 7 echte Neuerungen: den ClockInterface-Standard, den AssetMapper als webpack-freie Alternative, überarbeitete DI-Attribute und einen deutlich schlankeren Core. Dieser Artikel zeigt, was konkret neu ist, was entfernt wurde und wie die Migration von 6.4 auf 7 aussieht.
-
28.02.2026
Doctrine ORM bietet zwei grundlegend verschiedene Wege, auf Datenbankoperationen zu reagieren: Lifecycle Callbacks direkt in der Entity und Doctrine Event Listeners als eigenständige Services. Beide lösen dasselbe Problem, aber mit unterschiedlicher Architektur, Testbarkeit und Abhängigkeitsverwaltung.