Fallback Image
Fallback Image

Release Time –

Laravel 9.0

Nach 17 Monaten Wartezeit erschien am 08. Februar nun Laravel 9.0 mit vielen nützlichen und spannenden Neuerungen. Einen Überblick gibt es hier.

Seit der Veröffentlichung von Laravel 8.0 im September 2020 ist Laravel von halbjährlichen zu jährlichen Releases übergangen. Damit sollte die Wartungslast für die Community verringert werden. Mit Laravel 9.0 erschien am 08. Februar die ersehnte nächste Version des PHP-Frameworks mit long-term Support. Nachdem die ursprüngliche Veröffentlichung bereits im September 2021 geplant war, verschob sich der Termin aufgrund der Veröffentlichung von Symfony 6.0.

Laravel uses a variety of community-driven packages as well as nine Symfony components for a number of features within the framework. Symfony 6.0 is due for release in November. For that reason, we are choosing to delay the Laravel 9.0 release until January 2022. By delaying the release, we can upgrade our underlying Symfony components to Symfony 6.0 without being forced to wait until September 2022 to perform this upgrade.

Laravel Versionen von 2019 bis 2023

Laravel Versionen von 2019 bis 2023

 

Wie Laravel CEO Taylor Otwell bereits im Laravel DACH Meetup im November ankündigte, bringt Laravel 9.0 einige Änderungen mit sich. Da V9 auf Symfony 6.0 basiert und dieses mindestens PHP 8 voraussetzt, gilt dasselbe auch für Laravel 9.0. Die aktuell minimal benötigte PHP-Version ist 8.0.2. Mit V9 ist Laravel außerdem von Flysystem 1.x auf 3.x migriert. Flysystem steuert alle Methoden zur File Manipulation, die von der Storage Facade bereitgestellt werden. Im Zuge dessen können einige Änderungen innerhalb der Anwendung erforderlich sein auch wenn versucht wurde, den Übergang so nahtlos wie möglich zu gestalten. Eine der größten Veränderungen in Laravel 9.0 ist der Wechsel von SwiftMailer, der ab Dezember 2021 nicht mehr länger weiterentwickelt werden wird, zu Symfony Mailer.

Neues Design für routes:list

Der Befehl routes:list ist nun schon länger in Laravel enthalten. Bisher konnte es beim Definieren großer und komplexer Routes unübersichtlich werden, wenn man versucht diese in der Konsole anzuzeigen. Dies wurde in V9 überarbeitet und ein neues Design entwickelt.

Neue Option für Testabdeckung

Die neue artisan test –coverage option zeigt die Testabdeckung direkt auf dem Terminal an. Dies umfasst außerdem die Option –min, mit der ein Mindestschwellwert für die Testabdeckung angegeben werden kann.

Migrations standardmäßig anonym

Anfang 2021 kam Laravel 8.37 mit einer neuen Funktion namens Anonymous Migrations heraus, die Namenskollisionen von Migrationsklassen verhindert. Mit Laravel 9.0 wird dies die Standardeinstellung sein, wenn php artisan make:migration ausgeführt wird.

Neue Query-Builder-Schnittstelle

Für Entwickelnde, die sich auf Type Hints für statische Analysen, das Refactoring, oder Code-Vervollständigung in ihrer Entwicklungsumgebung (IDE) verlassen, konnte das Fehlen einer gemeinsamen Schnittstelle oder Vererbung zwischen Query/Builder, Eloquent/Builder und Eloquent/Relation bisher zu Problemen führen. Die neue Funktion fügt eine neue Illuminate/Contracts/Database/QueryBuilder-Schnittstelle und einen Illuminate/Database/Eloquent/Concerns/DecoratesQueryBuilder-Trait hinzu, der die Schnittstellen anstelle der bestehenden _call-Implementierung implementiert.

Weitere Infos zu Laravel 9.0

Alle Veränderungen in Laravel 9.0 sind hier noch einmal ausführlich beschrieben. Einen Überblick über alle neuen Funktionen und Optimierungen gibt es außerdem auf Laracasts mit Jeffrey Way. Der Release der neuen Laravel-Version wurde außerdem auf die diesjährige Laracon Online Winter-Edition abgepasst, die kostenlos auf YouTube zur Verfügung steht. Diese Möglichkeit nutzte Taylor Otwell, um einige neue Funktionalitäten live zu demonstrieren. Viele weitere interessante Talks zu Themen wie „Digital Nomadding“, „Modularising the Monolith“ und „Web 3.0 and Laravel“ lohnen einen Blick in die Aufzeichnung.


Mehr Infos über

Laravel gesucht?

zum Meetup