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.
- 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).
Features im Detail
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.
Tief eintauchen
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)