Was gibt es neues in Laravel 11
Laravel 11 bringt eine Reihe neuer Features und Verbesserungen, die das Framework weiter voranbringen und den Entwicklungsprozess für Entwickler effizienter gestalten. Hier eine Zusammenfassung der wichtigsten Neuerungen:
Vereinfachte Konfiguration
In Laravel 11 werden Konfigurationsoptionen direkt in der .env
-Datei verwaltet, wodurch die Notwendigkeit mehrerer Konfigurationsdateien entfällt. Das macht das Setup übersichtlicher und die Verwaltung effizienter.
// Beispiel für eine .env-Datei in Laravel 11 APP_NAME=Laravel APP_ENV=local APP_KEY=base64:... APP_DEBUG=true ...
Erweiterte Flexibilität bei Modell-Casts
Die casts()
Methode in Modellen erlaubt eine einfachere und flexiblere Umwandlung von Attributen in bestimmte Datentypen.
// Beispiel für die Verwendung der casts()-Methode in einem Laravel 11 Modell public function casts() { return [ 'is_admin' => 'boolean', 'signup_date' => 'datetime', ]; }
Neuer Dumpable Trait
Der Dumpable
Trait vereinfacht das Debugging, indem es ermöglicht, den Inhalt von Objekten leichter auszugeben.
use Illuminate\Support\Traits\Dumpable; class User { use Dumpable; // Beispiel-Daten public $name = 'John Doe'; } $user = new User(); $user->dump();
Optimierung der Standardmigrations
Die Vereinfachung der Standardmigrations auf nur zwei Dateien macht die Verwaltung und das Verständnis der Datenbankstruktur einfacher.
// Beispiel für eine vereinfachte Standardmigration in Laravel 11 use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateUsersTable extends Migration { public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); } }
Verbesserungen beim Blade-Templating
Laravel 11 führt Verbesserungen bei Blade ein, die es einfacher machen, saubere und wartbare Templates zu schreiben.
{{-- Beispiel für eine Blade-Komponente in Laravel 11 --}} <x-alert type="error" :message="$errorMessage" />
Sicherheits-Upgrades
Verbesserte Passworthaschung und Unterstützung für Zwei-Faktor-Authentifizierung erhöhen die Sicherheit von Laravel-Anwendungen.
// Beispiel für verbesserte Sicherheitseinstellungen in Laravel 11 'passwords' => [ 'users' => [ 'provider' => 'users', 'table' => 'password_resets', 'expire' => 60, 'throttle' => 60, 'hash' => true, // Verbesserte Passworthaschung ], ],
Neue Verzeichnisstruktur
Die Verzeichnisstruktur wurde überarbeitet, um Code-Wiederverwendbarkeit zu verbessern, das Teilen von Wissen im Team zu erleichtern und die Entwicklungszeit zu reduzieren
Veränderte Routenbehandlung
Standardmäßig gibt es jetzt nur noch zwei Routendateien. API-Routen und WebSocket-Broadcasting werden optional hinzugefügt
Neue Health-Check-Route
Eine neue /up
Route für Health-Checks verbessert die Integration mit Uptime-Monitoring-Tools
Rotation des APP_KEY
Eine sanfte Rotation des APP_KEY
verhindert Datenverlust bei Änderungen
Entfernung des Console Kernel
Der Console Kernel wurde entfernt und Konsolenbefehle können nun direkt in routes/console.php
definiert werden
Mindestanforderungen
Laravel 11 setzt mindestens PHP 8.2 und SQLite 3.35.0 voraus und verzichtet auf die Abhängigkeit von Doctrine DBAL
Abschluss
Außerdem enthält Laravel 11 Verbesserungen beim Blade-Templating und Sicherheitsupgrades, einschließlich verbesserter Passworthaschung und Unterstützung für Zwei-Faktor-Authentifizierung. Trotz der zahlreichen Neuerungen bleibt Laravel 11 rückwärtskompatibel zu Laravel 10, was den Upgrade-Prozess erleichtert
Diese Änderungen zielen darauf ab, die Entwicklung mit Laravel effizienter, sicherer und flexibler zu gestalten. Sie fördern eine modernere, modularere und wartbare Codebasis und tragen dazu bei, die Entwicklungszeit zu verkürzen und die Sicherheit von Anwendungen zu erhöhen.