Interview: Symfony 7 im Überblick mit Nicolas Grekas
Symfony 7 wurde heute veröffentlicht, und wie gewohnt hat SensioLabs Nicolas Grekas, einen der Hauptbeitragsleister des Symfony-Core-Teams, interviewt. Erfahren Sie mehr über die neuesten Funktionen in Symfony 7 und was Sie bei der Aktualisierung beachten sollten.
Was ist die Philosophie von Symfony 7?
Symfony 7 ist vor allem das Ergebnis von zwei Jahren Entwicklung, seit das letzte wichtige Release Symfony 6 Ende 2021 veröffentlicht wurde.
Die neue Version Long-Term Support Symfony 6.4 wird zeitgleich mit Symfony 7 verfügbar sein. Symfony veröffentlicht alle zwei Jahre eine neue Major-Version, die identisch mit der Long-Term Support-Version ist, jedoch ohne veraltete Funktionen. Symfony schafft somit eine Kombination aus Stabilität und Innovation.
Stabilität, weil die Entwicklungsprozesse des Frameworks streng geregelt sind, was eine einfache Aktualisierung ermöglicht. Es gibt keine großen Brüche zwischen den Versionen, es handelt sich um eine kontinuierliche Weiterentwicklung. Symfony 7 folgt dem roten Faden, der seit der Veröffentlichung von Symfony 2 im Jahr 2012 die Grundlage unserer Entwicklungen bildet.
Gleichzeitig fördert Symfony Innovation und bietet den Entwicklern die neuesten technologischen Fortschritte. Die Community trägt zur „Bereinigung“ des Codes alle zwei Jahre bei und entfernt nicht mehr genutzte Funktionen.
Symfony 7 verbindet erneut die Qualitäten einer bewährten Technologie mit einem innovativen Framework.
Welche wesentlichen Neuerungen gibt es in Symfony 7?
Mit jeder neuen Major-Version von Symfony werden dem Framework mehrere Komponenten hinzugefügt. Hier sind die neuen Komponenten:
Clock, das die Fähigkeit verbessert, Code unter zeitlichen Zwängen zu testen.
Webhook, um eigene Webhooks zu definieren und auf entfernte Ereignisse zu reagieren.
Scheduler, der Nachrichten nach einem vordefinierten Zeitplan auslöst und sendet.
HTML Sanitizer, das es ermöglicht, HTML-Code sicher und konform zu erstellen.
AssetMapper, um modernes JavaScript und CSS ohne Bundler zu schreiben.
Wie immer liegt ein besonderer Fokus auf der Verbesserung von Leistung und Sicherheit. Symfony 7 folgt den Sicherheitsstandards. Beispielsweise werden die Anforderungen des HTTPS-Protokolls erhöht. Symfony 7 unterstützt auch die Implementierung von CHIPS Cookies, die den Datenschutz der Nutzer besser respektieren.
Symfony 7 erfordert die Verwendung von PHP 8.2 und nutzt die neuen Funktionen maximal aus.
Was ändert sich konkret für Entwickler?
Symfony 7 bringt viel Modernität und ermöglicht es Entwicklern, innovativere Funktionen zu erstellen.
Dank PHP 8.2 sind Attribute nun sehr präsent in Symfony 7. Sie ermöglichen es Entwicklern, die Bedürfnisse ihrer Anwendungen effizienter auszudrücken. Der Code wird somit ausdrucksstärker. Attribute bieten Produktivitätsgewinne und eine erhöhte Eleganz des Codes. Die Entwicklung in Symfony wird angenehmer. Ein Entwickler, der Freude an seinem Code hat, ist effektiver und zufriedener.
Neue Attribute kommen in Symfony 6.4 hinzu, andere folgen. Beispielsweise ermöglichen die Attribute Autowire und Autoconfigur Symfony, besser zu verstehen, wie die in der Anwendung entwickelten Klassen verwendet werden sollen.
Symfony nutzt soweit wie möglich das von den neuesten PHP-Versionen ermöglichte Typsystem. Die Lesbarkeit des Codes wird verbessert und expliziter. Statische Analysetools funktionieren besser, was es ermöglicht, Probleme früher im Entwicklungsprozess zu erkennen.
All diese Neuerungen verbessern das Entwicklungserlebnis mit Symfony erheblich.
Wie entwickelt sich Symfony 7 im Verhätnis zu PHP? und zu anderen Open-Source-Projekten?
Symfony ist zunehmend in die Entwicklung von PHP eingebunden. Wie bereits erwähnt, nutzt Symfony 7 das volle Potenzial der Neuerungen von PHP 8.2, um zeitgemäße Funktionen anzubieten. Die neuesten PHP-Versionen entwickeln sich auch in Verbindung mit der Weiterentwicklung von Symfony.
In den letzten zwei Jahren hat sich PHP mit der Gründung der PHP Foundation, an der Symfony beteiligt ist, stark weiterentwickelt. PHP strukturiert sich stärker, und Symfony hat sich an diesen Arbeiten beteiligt, indem es zur Entwicklung der PHP-Sprache selbst beigetragen hat.
In seinen Beziehungen zu anderen Open-Source-Projekten bleibt Symfony 7 den seit Symfony 2 geltenden Prinzipien treu. Es bietet nützliche und entkoppelte Komponenten für Open-Source-Projekte. Symfony ist heute ein Gründungsprojekt für viele bedeutende Open-Source-Projekte, wie Drupal, Shopware oder Sulu.
Welche Ratschläge hast du, um auf Symfony 7 zu aktualisieren?
Das Upgrade von einer vorherigen Version von Symfony auf Symfony 7 ist ein vereinfachter Vorgang. Seit Symfony 3 und der Einführung des kontinuierlichen Migrationspfads ist das Upgrade zwischen den Major-Versionen von Symfony geführt.
Hier ist die Checkliste für das Upgrade auf Symfony 7:
Aktualisieren Sie Ihr Projekt auf Symfony 6.4
Stellen Sie sicher, dass der Code keine Deprecation-Warnungen erzeugt
Wechseln Sie zu PHP 8.2
Führen Sie das Upgrade auf Symfony 7 durch und überprüfen Sie, dass alles funktioniert und korrigieren Sie gegebenenfalls die letzten Anpassungen.
Für die meisten Benutzer beinhaltet Symfony 7 keine Deprecations, die den Code erheblich beeinflussen würden. Das Upgrade sollte daher relativ einfach und kostengünstig sein. Der erforderliche Aufwand ist eher moderat.
Wann sollte man auf Symfony 7 umsteigen?
Je früher, desto besser! Symfony 7 wird ab seiner Veröffentlichung eine stabile Version sein. Es wird nicht experimenteller sein als andere Versionen.
Durch den sofortigen Wechsel zu Symfony 7 sind Sie sofort bereit für die folgenden Iterationen. Die Abwärtskompatibilität bleibt zwischen den Minor-Versionen bestehen, z. B. von Symfony 7.0 zu Symfony 7.1. Ein sofortiges Upgrade auf Symfony 7 bietet die Möglichkeit, von den Verbesserungen zu profitieren, die in Symfony 7.1, 7.2, usw. angeboten werden.
Der einzige Unterschied zwischen Symfony 7 und Symfony 6.4 besteht darin, dass Symfony 7 die veralteten Funktionen entfernt. Direkt nach der Veröffentlichung von Symfony 7 könnten Bibliotheken, die Nutzer in Projekten verwenden, möglicherweise nicht bereit sein, um mit Symfony 7 zu funktionieren. Diese Probleme werden dank der Beiträge der Community nach der Veröffentlichung von Symfony 7 allmählich gelöst.
Warten Sie nicht, bis jemand anderes Ihre Abhängigkeiten aktualisiert! Tragen Sie jetzt Open Source bei, um sicherzustellen, dass Ihre Bibliotheken mit Symfony 7 kompatibel sind und Sie der gesamten Community zugutekommen.
Was wird Symfony 7 einem Unternehmen bringen?
Symfony 7 ist eine Projektion in die Zukunft, die in dieser neuen Version des Frameworks geschrieben wird.
Für ein Unternehmen bedeutet ein Upgrade auf Symfony 7 mehr Komfort bei der Entwicklung von Anwendungen dank der Verbesserungen von Symfony 7. Es bedeutet auch „einen Teil seiner technischen Schulden zu begleichen“. Das bedeutet mehr Agilität in der Zukunft und nicht in eine Situation zu geraten, in der man eines Tages den gesamten Code neu schreiben muss. Wenn ein Unternehmen überlegt, warum es auf Symfony 7 migrieren sollte, finden Sie alle guten Gründe, sich für Symfony in diesem Whitepaper zu entscheiden. Die Migration zu Symfony ist die Wahl einer bewährten Technologie und gleichzeitig der Innovation.
Wie kann man die Veröffentlichung neuer Symfony-Versionen und die Open-Source-Beiträge unterstützen?
Symfony ist ein Open-Source-Projekt, das das Ergebnis der Beiträge von Einzelpersonen und Unternehmen ist, die an diesen Weiterentwicklungen beteiligt sind. Die Zukunft von Symfony wird nur durch die kollektive Summe aller Beiträge geschrieben.
Die Beiträge erfolgen auf verschiedene Weise:
durch das Geben von Feedback, also das Aufzeigen von Problemen oder den Wunsch nach neuen Funktionen
durch Beiträge zum Code mit Pull Requests
durch die Verbesserung der Dokumentation
durch die finanzielle Unterstützung der aktivsten Symfony-Mitwirkenden auf Github
Unternehmen können auch finanziell zu Symfony beitragen, zum Beispiel durch die Finanzierung verschiedener Sponsoring-Pakete: einer Major- oder Minor-Version des Frameworks (wie SensioLabs und Private Packagist es mit Symfony 6.4 tun), einer bestimmten Komponente, des wöchentlichen Newsletters „A Week of Symfony“, des Buches „The Fast Track to Symfony 7“ und natürlich der Symfony-Konferenzen.
All diese Sponsorings bieten Unternehmen Sichtbarkeit in der Symfony-Community. Wenn Sie interessiert sind, können Sie uns über diesen Link kontaktieren.
Vielen Dank, Nicolas!
Benötigen Sie Hilfe beim Upgrade auf Symfony 7? SensioLabs begleitet Sie mit dem Upgrade-Angebot. Schreiben Sie uns auf sensiolabs.com, um mehr zu erfahren.