Laravel 12 ist frisch gelandet und wie jedes Mal frage ich mich erstmal: „Was gibt’s Neues? Muss ich mich schon wieder umstellen oder kann ich mich entspannt zurücklehnen?“ Damit du dir diese Frage nicht auch stellen musst, habe ich Laravel 12 gründlich unter die Lupe genommen und zeige dir hier, warum sich der Sprung auf die neue Version definitiv lohnt – und ja, diesmal tut es auch gar nicht weh.
Bye-bye Plugin-Chaos, Hallo Starter-Kits!
Meine Lieblingsneuheit in Laravel 12: die offiziellen Starter-Kits für React, Vue und Livewire. Endlich kein stundenlanges Setup mehr, nur um eine Login-Maske zum Laufen zu kriegen! Die Kits bringen direkt TypeScript, Tailwind und sogar shadcn/ui oder Flux UI mit. Als Extra gibt’s noch eine optionale WorkOS-Integration für fancy Auth-Features wie Passkeys oder SSO dazu.Kurzes Beispiel:
# React-Starter installieren
composer create-project laravel/laravel dein-cooles-projekt
cd dein-cooles-projekt
php artisan starter:install react
npm install
npm run dev
Route::apiVersion(1)->group(function () {
Route::get('users', [UserController::class, 'index']);
});
Jetzt kann man APIs ordentlich strukturieren und spart sich viele Nerven und Copy-Paste-Fehler.
NestedWhere für Query Builder – Klarheit statt Closure-Hölle
Schon mal eine komplexe Datenbankabfrage gebaut und dabei fast den Verstand verloren? Laravel 12 erleichtert das mit der neuen Methode nestedWhere() enorm:$users = DB::table('users')
->where('status', 'active')
->nestedWhere('age', '>', 25, 'or', 'city', 'Berlin')
->get();
Kein tiefes Verschachteln mehr, sondern lesbarer, eleganter Code. Endlich keine Kopfschmerzen mehr beim Debuggen!
UUIDs – jetzt in cool und sortiert
Laravel 12 nutzt standardmäßig sortierbare UUID v7 statt zufälliger UUID v4. Klingt erstmal unspektakulär, ist aber großartig für Datenbanken und Performance. Wer doch lieber auf Zufall setzt (warum auch immer...), kann das natürlich weiterhin tun:use Illuminate\Database\Eloquent\Concerns\HasVersion4Uuids as HasUuids;
Ich persönlich bleibe bei den neuen UUIDs – klingt irgendwie professioneller.
Sichere Passwörter ohne Kopfzerbrechen
Laravel macht’s dir jetzt leichter, sichere Passwörter durchzusetzen:$request->secureValidate(['password' => 'required|min:8|strong']);
Ab sofort keine peinlichen „12345678“-Passwörter mehr von deinen Usern – ohne komplizierte Regexes selbst zu basteln.