Laravel ist ein führendes PHP-Framework, das für seine elegante Syntax, seine leistungsstarken Funktionen und seine entwicklerfreundlichen Tools bekannt ist. Seine Architektur unterstützt die effektive PHP-Webentwicklung und hilft dir, skalierbare und wartbare Anwendungen zu erstellen.

Wir bei Kinsta wollen immer einen Schritt voraus sein und die neuesten Technologien nutzen. Und da wir viel Erfahrung mit Laravel-Anwendungen haben, freuen wir uns über die Neuerungen in der neuesten Version.

Laravel 11 führt mehrere neue Funktionen ein, die die Produktivität der Entwickler erhöhen und die Leistung der Anwendungen verbessern. Von der optimierten Konfiguration und Fehlersuche bis hin zur verbesserten Flexibilität verbessert diese Version die Entwicklungseffizienz und hilft dir, robustere Anwendungen zu erstellen. Lasst uns eintauchen!

Die überarbeitete Verzeichnisstruktur in Laravel 11

Laravel 11 enthält eine neu gestaltete Verzeichnisstruktur, die die Entwicklungseffizienz erhöht. Diese Änderung vereinfacht die Organisation der Projektdateien und reduziert den überflüssigen Code, der in früheren Laravel-Versionen enthalten war.

Durch das Entfernen bestimmter Verzeichnisse wie app/Exceptions und app/Http/Middleware ist die Struktur von Laravel 11 übersichtlicher als in früheren Versionen. Frühere Versionen enthalten zum Beispiel neun Middleware-Verzeichnisse, von denen du viele wahrscheinlich nicht anpassen wirst. Durch die Eliminierung dieses Verzeichnisses wird der Code weniger umfangreich und du kannst dich auf die wesentlichen Aspekte deiner Codebasis konzentrieren. Und wenn du die Middleware anpassen musst, kannst du das über App/ServiceProvider tun.

Mit Laravel 11 wird auch der Ordner config entfernt, wodurch sich die Art und Weise, wie du Konfigurationen verwaltest, ändert. Wir werden auf diese Änderung in einem späteren Abschnitt zurückkommen.

Die Vorteile der neuen Verzeichnisstruktur von Laravel sind:

  • Wiederverwendbarkeit des Codes – Mit weniger Boilerplate-Code kannst du dich auf die Erstellung modularer und wiederverwendbarer Komponenten konzentrieren. Die Wiederverwendung gemeinsamer Funktionalitäten in der gesamten Anwendung fördert einen effizienteren Entwicklungsprozess.
  • Verbesserter Wissensaustausch – Eine weniger komplexe Verzeichnisstruktur erleichtert den Wissensaustausch zwischen Teammitgliedern und Personen, die die Technologie einführen. Die einfachere Navigation in der Produktstruktur macht die Zusammenarbeit reibungsloser und effektiver.
  • Geringere Programmierzeit – Die Beseitigung unnötiger Verzeichnisse und Dateien bedeutet, dass die Entwickler weniger Zeit mit unnötigem Standardcode verbringen. Schnelleres Programmieren, Debuggen und Testen führen zu höherer Produktivität.

Eine rationalisierte Verzeichnisstruktur bietet einen verfeinerten Entwicklungsprozess und ermöglicht eine schnellere Implementierung von Features und Funktionalitäten.

Verbesserte Flexibilität mit Model Casts

Laravel 11 geht zu methodenbasierten Model Casts über und ändert damit die Art und Weise, wie du mit Attributen innerhalb eines Laravel Eloquent-Modells umgehst – eine Darstellung einer Datenbanktabelle, die als Vermittler für Interaktionen mit dieser Tabelle dient.

In älteren Laravel-Versionen wurden Attribute über ein properties Array definiert. In Laravel 11 legst du die Modell-Casts in einer Methode mit dem treffenden Namen casts() fest.

Dieser Übergang zu methodenbasierten Model Casts bietet mehrere Vorteile, die denen von Code-Methoden oder Funktionen ähneln. Einer der wichtigsten Vorteile ist die Wiederverwendbarkeit von Code. Durch die Einbeziehung der Casting-Logik in Methoden wird dein Code modularer und wiederverwendbar. Und weil die Methode casts() das Casting von Attributen beschreibt, wird dein Code lesbarer und wartbarer.

Wichtig ist auch, dass Laravel 11 die Abwärtskompatibilität mit früheren Versionen gewährleistet. Du kannst also deine bestehenden Codebasen nahtlos auf das aktualisierte Model Casting von Laravel 11 umstellen. Diese Kompatibilität macht die Einführung von Laravel 11 zu einem reibungslosen Prozess – vor allem, wenn du bereits mit den Vorgängerversionen vertraut bist.

Vereinfachte Konfiguration

Wie bereits erwähnt, bringt Laravel 11 eine Veränderung in der Konfigurationsverwaltung mit sich. Es konsolidiert die Konfigurationseinstellungen in einer einzigen Quelle: der .env-Datei. Dies ist ein deutlicher Unterschied zu früheren Laravel-Versionen, bei denen die Konfigurationen auf mehrere Dateien verteilt waren.

Dadurch, dass die Konfigurationen ausschließlich in der .env-Datei gespeichert werden, wird die Organisation erheblich verbessert. Außerdem vereinfacht es den Entwicklungsworkflow und macht ihn intuitiver und effizienter.

Eine weitere wichtige konfigurationsbezogene Aktualisierung ist die Kaskadenfunktion, mit der du deine Konfigurationen feinabstimmen kannst, indem du unnötige Optionen entfernst, die du nicht anpassen möchtest. Das Ergebnis ist eine kompaktere Entwicklung.

Die einzige .env-Datei macht mehrere Dateien überflüssig und speichert stattdessen alle relevanten Konfigurationen an einem Ort. Wenn du jedoch das Gefühl hast, dass die .env-Datei zu groß wird, kannst du einen Befehl verwenden, um die Konfigurationsdatei in das config-Verzeichnis zurückzulegen. Zum Beispiel erzeugt php artisan config:publish auth die Datei auth.php im config-Verzeichnis.

Die Möglichkeit, bestimmte Konfigurationen abzurufen, ist ein großer Segen für Unternehmen.

Verbesserte Debugging-Erfahrung mit dem neuen Trait Dumpable

Der Dumpable Trait ist eine wertvolle Ergänzung zu Laravel 11. Mit ihr kannst du vertraute Debugging-Hilfen innerhalb der Klassen nutzen, darunter die Methoden dd() und dump(). Diese Methoden sind beim Debugging sehr hilfreich, da sie in Echtzeit Einblicke in ein Zielobjekt oder eine Variable geben.

Der Trait Dumpable wird wahrscheinlich die bestehenden Methoden dd und dump in einer Vielzahl von Laravel-Klassen ersetzen, um eine einheitliche und kohärente Debugging-Erfahrung im gesamten Framework zu gewährleisten.

Die Neuerungen von Laravel 11 bei der Behandlung von Routen

Laravel 11 verbessert die früheren Versionen durch eine konsolidierte Routenverwaltung erheblich. Die Anzahl der Standard-Routen-Dateien wird von vier auf zwei reduziert: routes.php und console.php. Diese Änderung ist von großer Bedeutung, da sie die Anzahl der Standarddateien reduziert und das Framework intuitiver macht.

Wenn du API-Routen in deine Anwendung einbauen willst, musst du dich bewusst für sie entscheiden. Dieser Mechanismus unterstützt eine saubere, maßgeschneiderte Anwendungsstruktur, die API-Routen nur bei Bedarf einbezieht. Um die Datei api.php zu erstellen und Laravel Sanctum zu integrieren, führe den Befehl php artisan install:api aus.

Das Event-Broadcasting in Laravel 11 folgt einem ähnlichen Paradigma. Um die Funktionalität zu aktivieren und die Datei channels.php zu erstellen, führe den Befehl php artisan install:broadcasting aus. Dadurch wird die Einrichtung der wichtigen Dateien und Konfigurationen orchestriert und die Integration von Event-Broadcasting in Laravel-Anwendungen beschleunigt.

Zusammengenommen unterstützen diese Änderungen den Übergang zu einer modularen und anpassbaren Anwendungsstruktur. Da du dich für bestimmte Funktionen entscheiden kannst, bietet Laravel 11 einen individuelleren Ansatz für die Verwaltung von Routendateien als frühere Versionen.

Die Entwicklung des HTTP-Kernels von Laravel

Der Laravel-Kernel ist eine wichtige Komponente des Frameworks und dient als Einstiegspunkt für HTTP-Anfragen und Terminalbefehle. Er koordiniert den Fluss dieser Anfragen und verwaltet den Middleware-Stack, das Routing und andere wichtige Komponenten, die zur Bearbeitung eingehender Anfragen in der Anwendung beitragen.

Mit Laravel 11 wird der Laravel-Kernel abgeschafft. Stattdessen verwendest du die Klasse Bootstrap/App, die wichtige Schnittstellen in den Container einbindet. Nachdem die notwendigen Komponenten eingerichtet wurden, gibt die Klasse Bootstrap/App die Instanz der Anwendung zurück. Diese Trennung der Instanzbildung von der Ausführung der Anwendung und der Bearbeitung der Antworten sorgt für eine modularere Architektur.

Die Entfernung des Laravel-Kerns ist ein weiterer Schritt zur Minimierung von Boilerplate-Code. Da sich die Klasse Bootstrap/App um die wesentlichen Einstellungen kümmert, kannst du dich auf die Entwicklung der Kernfunktionen deiner Anwendungen konzentrieren. Sobald eine Anwendungsinstanz läuft, sorgt die Klasse Bootstrap/App für die nötige Bearbeitung von Webanfragen, was den Entwicklungsprozess vereinfacht und eine besser organisierte Codebasis fördert.

Konsolidierte Standardmigrationen für mehr Effizienz

Mit Laravel 11 werden auch die Standardmigrationen überarbeitet. In den Vorgängerversionen von 2014 bis 2019 gab es zahlreiche Standardmigrationen, die über mehrere Dateien verteilt waren. In der neuesten Version wurden diese Dateien auf nur noch zwei reduziert, was für Entwickler/innen eine übersichtlichere und benutzerfreundlichere Erfahrung bedeutet.

Diese Reduzierung der Standardmigrationsdateien vereinfacht den Zugriff auf und die Verwaltung von generierten Migrationen, erhöht die Übersichtlichkeit deiner Datenbankstrukturen und reduziert mögliche Verwirrungen und Fehler.

Außerdem kannst du dich dank der übersichtlicheren und einfacheren Standardmigrationseinstellungen mehr auf die spezifischen Anforderungen deiner Projekte konzentrieren, anstatt dich mit den komplexen Standardmigrationsdateien herumzuschlagen.

Die optimierten Standardmigrationen von Laravel 11 tragen zu einer reibungsloseren Entwicklungserfahrung bei und stärken den Ruf des Frameworks, Einfachheit und Benutzerfreundlichkeit in den Vordergrund zu stellen.

PHP 8.2: Der neue Standard für Laravel 11

Eine weitere wichtige Änderung bei Laravel 11 ist die Festlegung von PHP 8.2 als Mindestanforderung. In Laravel 11 ist PHP 8.2 der Standard, PHP 8.3 ist in Sicht. Die Anpassung an die neuesten Entwicklungen im PHP-Ökosystem stellt sicher, dass Laravel mit den neuesten (und kommenden) Sprachfunktionen und Optimierungen von PHP kompatibel bleibt.

Durch die Unterstützung der letzten beiden großen PHP-Versionen verbessert Laravel 11 die Leistung, die Sicherheit und die Erfahrung der Entwickler. Wenn du PHP 8.2 zur Mindestanforderung machst, sind deine Projekte zukunftssicher und du kannst das volle Potenzial der Sprache ausschöpfen.

Zusammenfassung

Laravel 11 führt wichtige Updates ein, die die Entwicklungserfahrung für dich, dein Team und die breite Entwicklergemeinschaft verbessern. Verbesserte Leistungsoptimierungen, erweiterte Unterstützung für die neuesten PHP-Versionen und optimierte Workflow-Funktionen machen die PHP-Entwicklung so reibungslos und effizient wie möglich.

Diese Verbesserungen führen zu reibungsloseren Entwicklungsabläufen, besserer Anwendungsleistung und einem insgesamt effizienteren Entwicklungsprozess. Die leistungsstarken Funktionen unseres Anwendungs-Hosting Dienst, wie automatische Skalierung, sichere Infrastruktur und verbesserte Leistung mit den schnellsten Maschinen der Google Cloud Platform, bieten eine ideale Umgebung für die Bereitstellung von Laravel 11-Anwendungen.

Wir können es kaum erwarten zu sehen, welche Anwendungen du mit Laravel 11 entwickelst – und wie du Kinsta nutzt, um deine Laravel-Anwendungen wachsen zu lassen.

Marcia Ramos Kinsta

I'm the Editorial Team Lead at Kinsta. I'm a open source enthusiast and I love coding. With more than 7 years of technical writing and editing for the tech industry, I love collaborating with people to create clear and concise pieces of content and improve workflows.