Laravel 8 führt mit Jetstream ein neues Scaffolding ein

Rund sechs Monate nach dem Erscheinen von Laravel 7 ist ein neues Release des zunehmend populäreren PHP-Webframeworks veröffentlicht worden.

In Pocket speichern vorlesen Druckansicht
Laravel 8 führt mit Jetstream ein neues Scaffolding ein

(Bild: Carlo Toffolo/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Alexander Neumann

Das PHP-Webframework Laravel ist in Version 8 erschienen. Das neue Release enthält viele neue Funktionen, darunter das neue Anwendungsgerüst Jetstream, ein Skeleton-Modellverzeichnis, Modell-Factory-Klassen, Migration Squashing, Durchsatzratenbegrenzung und dynamische Blade-Komponenten. Schon zur Version 6 angekündigt, folgt Laravel nun bei der Versionierung dem Semantic-Versioning-Prinzip (semver).

Jetstream ist ein neues Anwendungsgerüst für Laravel, das fortan den Ausgangspunkt für eine Laravel-Anwendung bilden kann und Anmeldung, Registrierung, E-Mail-Verifizierung, Zwei-Faktor-Authentifizierung, Sessionmanagement, API-Unterstützung und SPA-Authentifizierung (Single-Page Application) über Laravel Sanctum und optionales Team-Management umfasst. Es basiert auf Tailwind CSS und bietet ein Scaffolding entweder auf Basis des Livewire-Frameworks oder des SPA-Generators Inertia.

Das neue Skeleton von Laravel 8 enthält ein Verzeichnis "app/Models". Alle Generatorbefehle gehen davon aus, dass Modelle in "app/Models" existieren; wenn dieses Verzeichnis jedoch nicht existiert, glaubt das Framework, dass die Anwendung die Modelle im Ordner "app/" aufbewahrt.

Wenn eine Anwendung viele Migrationsdateien enthält, lassen sich diese nun in einer einzigen SQL-Datei zusammenfassen. Diese Datei wird bei der Migrationen zuerst ausgeführt, gefolgt von allen verbleibenden Migrationsdateien, die nicht Teil der "Squashed"-Schemadatei sind. Das Squashing bestehender Migrationen kann ein Aufblähen der Migrationsdatei verringern und möglicherweise die Leistung während der Ausführung von Tests verbessern.

Laravel 8 bringt außerdem Überarbeitungen an der Durchsatzratenbegrenzung, unterstützt gleichzeitig die Abwärtskompatibilität mit der bestehenden Throttle-Middleware und bietet offenbar weitaus mehr Flexibilität. Laravel-Benutzer kennen schon die PHP-Bibliothek Carbon, die eine Kontrolle über zeitliche Änderungen bietet. Laravel 8 geht hier offenbar noch einen Schritt weiter, indem es bequeme Testhilfen zur Manipulation der Zeit innerhalb von Tests zur Verfügung stellt.

Wenn Entwickler eine Blade-Komponente zur Laufzeit dynamisch rendern müssen, bietet Laravel jetzt die <x-dynamic-component/> zum Rendern dieser Komponente.

Weitere Informationen bieten die Blog-Ankündigung und die Release Notes. Hilfreich mag auch der sogenannte Upgrade Guide sein. Über die vergangenen Wochen gab es schon einige Blog-Beiträge und eine Podcast-Episode zum Release.

(ane)