{"id":608452,"date":"2025-11-28T11:59:11","date_gmt":"2025-11-28T11:59:11","guid":{"rendered":"https:\/\/www.europesays.com\/de\/608452\/"},"modified":"2025-11-28T11:59:11","modified_gmt":"2025-11-28T11:59:11","slug":"symfony-7-4-und-8-0-doppel-release-raeumt-codebasis-auf","status":"publish","type":"post","link":"https:\/\/www.europesays.com\/de\/608452\/","title":{"rendered":"Symfony 7.4 und 8.0: Doppel-Release r\u00e4umt Codebasis auf"},"content":{"rendered":"<ol class=\"a-toc__list\">\n<li class=\"a-toc__item&#10;          &#10;            a-toc__item--counter&#10;          &#10;            a-toc__item--current\">\n<p>              Symfony 7.4 und 8.0: Doppel-Release r\u00e4umt Codebasis auf<\/p>\n<\/li>\n<\/ol>\n<p>Mit Symfony 7.4 und 8.0 hat das Symfony-Core-Team gleich zwei Versionen gleichzeitig ver\u00f6ffentlicht, die denselben Funktionsumfang teilen, sich aber in ihrer Struktur unterscheiden. 7.4 enth\u00e4lt s\u00e4mtliche, als veraltet markierte Features (Deprecations) der 7.x-Reihe, 8.0 kommt ohne diese aus. Das erleichtert den Umstieg, sobald Anwendungen keine veralteten Schnittstellen mehr verwenden.<\/p>\n<p>        Weiterlesen nach der Anzeige<\/p>\n<p>Der Doppel-Release markiert den Abschluss der vorangegangenen Entwicklungsphase und er\u00f6ffnet einen neuen Zyklus. Entwicklerinnen und Entwickler k\u00f6nnen zwischen einer langfristig gepflegten LTS-Version und einer regul\u00e4ren Hauptversion w\u00e4hlen, die ohne Altlasten auskommt.<\/p>\n<p>Modernisierung der Konfiguration<\/p>\n<p>Eine der auff\u00e4lligsten \u00c4nderungen in Symfony 7.4 betrifft das Konfigurationssystem. Das XML-Format gilt ab sofort offiziell als veraltet, sodass Symfony 8.0 es nicht mehr kennt. Bereits in j\u00fcngeren Versionen war XML standardm\u00e4\u00dfig deaktiviert, konnte aber manuell aktiviert werden. YAML bleibt Standardformat, alternativ kann die Konfiguration auch vollst\u00e4ndig in PHP erfolgen.<\/p>\n<p>F\u00fcr auf XML basierende Bundles steht ein Werkzeug bereit, das die Konfiguration automatisch in PHP umwandelt. Parallel dazu f\u00fchrt Symfony neue JSON-Schemata f\u00fcr YAML-Dateien ein. Sie erm\u00f6glichen <a href=\"https:\/\/symfony.com\/blog\/new-in-symfony-7-4-deprecated-xml-configuration\" rel=\"external noopener\" target=\"_blank\">laut Blogbeitrag<\/a> verbessertes Autovervollst\u00e4ndigen und Validierung in modernen Entwicklungsumgebungen (IDEs).<\/p>\n<p>PHP als alternatives Konfigurationsformat<\/p>\n<p>Im Zuge der Modernisierung hat das Entwicklerteam die PHP-Konfiguration in Symfony 7.4 \u00fcberarbeitet. Die<a href=\"https:\/\/symfony.com\/blog\/new-in-symfony-5-3-config-builder-classes\" rel=\"external noopener\" target=\"_blank\"> seit Version 5.3 genutzten Config-Builder-Klassen<\/a> ersetzt das Team durch ein arraybasiertes Format. Dieser Ansatz nutzt Array Shapes, die von Tools wie PHPStan oder PhpStorm erkannte werden. Ziel ist, eine bessere statische Analyse, Typpr\u00fcfung und Autovervollst\u00e4ndigung zu erm\u00f6glichen.<\/p>\n<p>        Weiterlesen nach der Anzeige<\/p>\n<p>Das neue Format \u00e4hnelt YAML in seiner Struktur, wird aber direkt in PHP geschrieben. <a href=\"https:\/\/symfony.com\/blog\/new-in-symfony-7-4-better-php-configuration\" rel=\"external noopener\" target=\"_blank\">Laut Blogbeitrag<\/a> ist es einfacher zu warten und soll langfristig die Integration in PHP-basierte Workflows erleichtern. Obwohl YAML weiterhin empfohlen wird, gilt die Neuerung als Schritt in Richtung einer st\u00e4rkeren Ann\u00e4herung zwischen Framework und Sprache. Passend dazu <a href=\"https:\/\/www.heise.de\/news\/PHP-8-5-bringt-neue-Sprachfeatures-und-mehr-Lesbarkeit-fuer-Developer-11087166.html\" target=\"_blank\" rel=\"noopener\">ist k\u00fcrzlich PHP 8.5 erschienen<\/a> \u2013 mit neuen M\u00f6glichkeiten f\u00fcr Typisierung und Analyse \u2013, was die Richtung der Symfony\u2011\u00c4nderungen unterst\u00fctzt: Beide Entwicklungen zielen darauf, Konfigurationen besser \u00fcberpr\u00fcfbar und Entwicklungswerkzeuge st\u00e4rker in den Codefluss zu integrieren.<\/p>\n<p>Deprecations und Upgrade-Strategie<\/p>\n<p>Das Symfony-Kernteam empfiehlt, Projekte zun\u00e4chst auf Version 7.4 zu aktualisieren und alle Deprecations zu bereinigen, bevor der Wechsel zu Version 8.0 erfolgt. <a href=\"https:\/\/symfony.com\/blog\/preparing-for-symfony-7-4-and-symfony-8-0\" rel=\"external noopener\" target=\"_blank\">Der Blogbeitrag<\/a> nennt als beste Methode, um als veraltet markierte Stellen zu erkennen, das Ausf\u00fchren der eigenen Test-Suite:<\/p>\n<p>$ php bin\/phpunit &#8211;display-deprecations<\/p>\n<p>Die Ausgabe listet Deprecations auf \u2013 sowohl direkte durch den eigenen Code als auch indirekte \u00fcber Bundles oder Bibliotheken. Wer keine umfangreiche Testabdeckung besitzt, kann einfache Smoke-Tests einsetzen, um betroffene Bereiche zu identifizieren. Auch Drittanbieter-Bundles gilt es zu pr\u00fcfen und entsprechend anzupassen. Besonders \u00e4ltere Projekte, die noch auf XML- oder die fr\u00fchere PHP\u2011Konfigurationssyntax setzen, sind von den \u00c4nderungen betroffen und sollten ihre Abh\u00e4ngigkeiten fr\u00fchzeitig anpassen.<\/p>\n<p>Langfristig oder agil?<\/p>\n<p>Symfony 7.4 ist eine LTS-Version (Long-term Support) mit Bugfixes bis November 2028 und Sicherheitsupdates bis November 2029. Version 8.0 erh\u00e4lt regul\u00e4ren Support f\u00fcr acht Monate, erlaubt aber schnelle Upgrades auf 8.1, 8.2 und nachfolgende Versionen. Das Symfony-Team empfiehlt f\u00fcr die meisten Projekte, dem regul\u00e4ren Zyklus zu folgen, um schrittweise an neue Funktionen und PHP-Versionen anzuschlie\u00dfen.<\/p>\n<p>Weitere Informationen bietet der Blogbeitrag zum Doppel-Release: <a href=\"https:\/\/symfony.com\/blog\/symfony-7-4-0-released\" rel=\"external noopener\" target=\"_blank\">Symfony 7.4<\/a> und <a href=\"https:\/\/symfony.com\/blog\/symfony-8-0-0-released\" rel=\"external noopener\" target=\"_blank\">Version 8.0<\/a>.<\/p>\n<p>(<a class=\"redakteurskuerzel__link\" href=\"https:\/\/www.heise.de\/news\/mailto:mdo@ix.de\" title=\"Madeleine Domogalla\" target=\"_blank\" rel=\"noopener\">mdo<\/a>)<\/p>\n<p>\n      Dieser Link ist leider nicht mehr g\u00fcltig.\n    <\/p>\n<p>Links zu verschenkten Artikeln werden ung\u00fcltig,<br \/>\n      wenn diese \u00e4lter als 7\u00a0Tage sind oder zu oft aufgerufen wurden.\n    <\/p>\n<p><strong>Sie ben\u00f6tigen ein heise+ Paket, um diesen Artikel zu lesen. Jetzt eine Woche unverbindlich testen \u2013 ohne Verpflichtung!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"Symfony 7.4 und 8.0: Doppel-Release r\u00e4umt Codebasis auf Mit Symfony 7.4 und 8.0 hat das Symfony-Core-Team gleich zwei&hellip;\n","protected":false},"author":2,"featured_media":608453,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[135],"tags":[29,30,196,137412,144857,53606,190,189,144858,194,191,193,192],"class_list":{"0":"post-608452","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-wissenschaft-technik","8":"tag-deutschland","9":"tag-germany","10":"tag-it","11":"tag-php","12":"tag-php-8-5","13":"tag-programmiersprachen","14":"tag-science","15":"tag-science-technology","16":"tag-symfony","17":"tag-technik","18":"tag-technology","19":"tag-wissenschaft","20":"tag-wissenschaft-technik"},"share_on_mastodon":{"url":"https:\/\/pubeurope.com\/@de\/115627214460604438","error":""},"_links":{"self":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/posts\/608452","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/comments?post=608452"}],"version-history":[{"count":0,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/posts\/608452\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/media\/608453"}],"wp:attachment":[{"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/media?parent=608452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/categories?post=608452"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.europesays.com\/de\/wp-json\/wp\/v2\/tags?post=608452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}