Was gibt es neues in Laravel 11

admin 7. März 2024 0 Comments

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.