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

COMMUNITY

CodeConnect är tillbaka! Den 10:e oktober är det dags för ny programmerarträff!

Vi är glada att återigen, tillsammans med Eborn Interactive, bjuda in till en inspirerande programmerarträff hos oss på Caesar.

COMMUNITY

Möt vår nya LIA-student, Pontus!

Vi är glada att välkomna Pontus, vår nya LIA-student!

Pontus studerar till front-end utvecklare på Medieinstitutet i Malmö, och har nu sin LIA hos oss på Caesar.