LARAVEL

Laravel 11 - Ny slimmad kostym

Laravel har släppt den senaste versionen, Laravel 11, som inkluderar en rad spännande förbättringar och nya funktioner för utvecklare. Här är en översikt över vad som är nytt:

Laravel Reverb

Laravel Reverb är en ny förstaparts WebSocket-server för Laravel-applikationer som möjliggör realtidskommunikation mellan klient och server. Den är optimerad för hastighet och stödjer tusentals anslutningar på en enda server, med sömlös integrering för Laravel Forge och inbyggt stöd för Pulse för övervakning.

Ny slimmad struktur

Ett av målen med Laravel 11 har varit att slimma ner strukturen och minska ner antalet filer i en ny installation av Laravel. De delar av applikationen som tidigare styrts via Kernel har ny flyttat in i App/ServiceProvider. Bl.a har de nio Middleware som varit default sedan tidigare flyttat in i ramverket, vendor-mappen, istället.

Den största ändringen syns nog i config-mappen, eller rättare sagt, det syns INTE i config-mappen, för alla de filer som låg där innan är nu borta. Det går självklart att publicera de config-filer som du önskar att ändra värdena i. En nyhet är också att de värden du fyller i kommer att slås ihop med default-värdena, dvs du behöver bara ange de värden du vill ändra på. ENV-filen har också uppdaterats för att inkludera fler konfigurationsvärden.

När du startar en ny Laravel-app kommer den med några standardmigreringar från 2014 och 2019. Dessa kommer nu att levereras utan datum och flyttas till bara två filer.

Ny Once-metod

Laravel 11 inkluderar en ny hjälpfunktion som heter once som säkerställer att du alltid får samma värde oavsett hur många gånger du anropar en objektsmetod.

Förändringar i Routes

Som standard kommer det nu bara att finnas två route-filer, console.php och web.php. API-rutter blir nu valfria att generera genom php artisan install:api

APP_KEY Rotation

I äldre versioner av Laravel kunde en ändring av APP_KEY leda till korrupt data i databasen. Det går nu att förhindra i Laravel 11 genom att ange gamla nycklar via en APP_PREVIOUS_KEYS .env-variabel.

Console Kernel Borttagen

Console Kernel är borttaget, istället kan du definiera dina konsolkommandon direkt i routes/console.php.

Eager Load Limit

I Laravel 11 är det nu enklare att sätta en eager load limit vid laddning av modeller via en relation. Tidigare har detta varit möjligt via Eloquent Eager Limit men är nu alltså tillgängligt direkt via Laravel. Detta är något vi på Caesar använder ofta t.ex när vi vill ladda de tre senaste kreditutvärderingarna för ett företag i våra system.

Dessa är bara några av de många förbättringar och nya funktioner som Laravel 11 har att erbjuda.

Kontaktperson

Ola Ebesson

Ola Ebbesson
+46 (0)70-278 80 39
ola.ebbesson@caesardev.se

Fler inlägg från bloggen

Laravel

God Mode - My most commonly used Laravel snippet

In web development, "God Mode" can refer to a special mode that allows developers to log in as an admin user instantly. This can be incredibly useful for quickly accessing admin features, testing permissions, and debugging issues. In this article, we’ll explore a handy Laravel snippet that enables "God Mode" in a local development environment.

SOMMARHÄLSNING

Glad Sommar!

Sommaren är äntligen här och vi på Caesar vill passa på att önska er alla en riktigt skön sommar!