Laravel 7 des PHP-Frameworks ist erschienen und enthält viele neue Funktionen, darunter Laravel Airlock, benutzerdefinierte Cast-Typen mit Eloquent, Blade Component Tags, Fluent String Operations, einen HTTP-Client mit Entwicklerfokus und First-Party-Unterstützung für CORS (Cross-Origin Resource Sharing) und viele weitere Funktionen. Weitere Verbesserungen betreffen die Routing-Geschwindigkeit und Scoping für das Route Model Binding.
Laravel Airlock
Laravel Airlock bietet ein Authentifizierungssystem für SPAs (Single-Page-Anwendungen), mobile Anwendungen und einfache, tokenbasierte APIs. Mit Airlock kann jeder Benutzer Ihrer Anwendung mehrere API-Token für sein Konto generieren. Den jeweiligen Token können Anwender Fähigkeiten und Geltungsbereiche zuordnen, die ihren Anwendungsraum einhegen und genau definieren. Zu Airlock stellen die Entwickler eine ausführliche Dokumentation bereit.
Eigene Cast-Typen mit Eloquent
Nun können Entwickler mit dem neuen Release eine Klasse definieren, die das CastsAttributes-Interface einbindet. Mit dem Interface ist es möglich, eigene Cast-Typen zu definieren. Die genauen Methoden und der Code stehen in den Release Notes. Sobald ein neuer Cast-Typ definiert ist, kann man ihn mit einem Modellattribut verknüpfen, indem man seinen Klassennamen verwendet.
Blade Components
Die Blade Components ermöglichen im neuen Release das Rendern,
Verwalten von Attributen und das Erstellen von Komponentenklassen
basierend auf Tags. Laravel-Komponenten können nun auch eine assoziierte
Klasse haben, die bestimmt, welche Daten sie akzeptiert. Alle
öffentlichen Eigenschaften und Methoden, die zur Definition der
Komponentenklasse passen, sind in Laravel 7 für die Komponentenansicht
(component view) automatisch verfügbar. Mit der Variablen $attribute
kann man zusätzliche HTML-Attribute definieren.
Guzzle-HTTP-Client
Bei Laravel soll man in der neuen Version mit offenbar minimaler API schnelle HTTP-Requests durchführen können, die die Kommunikation mit anderen Webanwendungen erleichtern. Der Wrapper rund um Guzzle konzentriert sich auf die häufigsten Fälle. Auch Fluent String Operations sind neu: Laravel 7 soll deutlich objektorientierter sein und hält eine Library zur Manipulation von Fluent Strings bereit.
Route: cache
Laravel 7 enthält eine neue Methode zum Abgleichen kompilierter, zwischengespeicherter Routen, die mit dem Befehl Artisan route: cache zwischengespeichert wurden. Bei großen Anwendungen (z. B. Anwendungen mit 800 oder mehr Routen) können diese bis zu einer zweifachen Geschwindigkeitsverbesserung der Abfrage pro Sekunde bei einem einfachen „Hello World“ – Benchmark führen.
Artisan test
Um Tests durchzuführen, können Laravel-Entwickler nun zusätzlich auch den Artisan-Befehl test ausführen. Der Code ist einfach: php artisan test. Alle Argumente, die sonst mit dem Befehl phpunit ausgegeben werden, werden auch an den Artisan-Befehl test ausgegeben: php artisan test –group=feature.
Dies sind nur einige der neuen Funktionen in Laravel 7. Eine vollständige Liste finden Sie in den Versionshinweisen sowie im Upgrade-Handbuch. Vergessen Sie auch nicht Laravel Shift, wenn Sie eine einfache Möglichkeit zur Aktualisierung wünschen.