Laravel is een toonaangevend en populair PHP framework dat bekend staat om zijn elegante syntaxis, krachtige functies en ontwikkelvriendelijke tools. De architectuur biedt webdevelopers ondersteuning voor hun PHP projecten en helpt schaalbare en makkelijk te onderhouden applicaties te bouwen.

Bij Kinsta lopen we voor de menigte uit en omarmen we de nieuwste technologieën. En omdat we ruime ervaring hebben met Laravel applicaties, zijn we enthousiast over de verbeteringen in de nieuwste versie.

Laravel 11 introduceert verschillende transformatieve functies die de productiviteit van developers verhogen en de prestaties van applicaties verbeteren. Van gestroomlijnde configuratie en debugging tot verbeterde flexibiliteit, deze versie verbetert de ontwikkelingsefficiëntie en helpt je robuustere applicaties te bouwen. Laten we er snel naar kijken!

De vernieuwde mappenstructuur in Laravel 11

Laravel 11 bevat een vernieuwde mappenstructuur die de efficiëntie van het ontwikkelen verbetert. Deze verandering vereenvoudigt de organisatie van projectbestanden en vermindert de boilerplate code in vorige Laravel versies.

Het verwijderen van bepaalde mappen, zoals app/Exceptions en app/Http/Middleware, maakt de Laravel 11 structuur schoner dan eerdere versies. Eerdere versies bevatten bijvoorbeeld negen middleware, waarvan je er waarschijnlijk niet veel zult aanpassen. Door het verwijderen van deze map wordt de omvang van de code geminimaliseerd en kun je je richten op de essentiële aspecten van je codebase. En als het nodig is om middleware aan te passen, kun je dat doen via App/ServiceProvider.

Laravel 11 verwijdert ook de config folder, waardoor de manier waarop je configuraties beheert verandert. We komen later op deze verandering terug.

Voordelen van de nieuwe mapstructuur van Laravel zijn onder andere:

  • Herbruikbaarheid van code – Met minder boilerplate code kun je je richten op het maken van modulaire en herbruikbare componenten. Deze mogelijkheid om gemeenschappelijke functionaliteiten te hergebruiken binnen de applicatie bevordert een efficiënter ontwikkelproces.
  • Gemakkelijker te delen met teamleden – Een minder complexe mappenstructuur vergemakkelijkt het delen van informatie tussen teamleden en mensen die met de technologie aan de slag gaan. Eenvoudiger navigeren door de productstructuur maakt samenwerking soepeler en effectiever.
  • Minder coderingstijd – Door het elimineren van onnodige mappen en bestanden besteden developers minder tijd aan het werken met onnodige boilerplate code. Sneller coderen, debuggen en testen leidt tot een hogere productiviteit.

Een gestroomlijnde mappenstructuur biedt een verfijnd ontwikkelproces en maakt een snellere toevoeging van features mogelijk.

Verbeterde flexibiliteit met modelcasts

Laravel 11 stapt over op modelcasts op basis van methodes, waardoor de manier verandert waarop je omgaat met attributen binnen een Laravel Eloquent model – een representatie van een databasetabel die fungeert als intermediary voor interacties met die tabel.

In oudere versies van Laravel definieerde je attributen met behulp van een properties array. Met Laravel 11 specificeer je modelcasts in een methode met de toepasselijke naam casts().

Deze overgang naar op methodes gebaseerde modelcasts biedt verschillende voordelen die vergelijkbaar zijn met die van methodes of functies in code. Een van de belangrijkste voordelen is herbruikbaarheid van code. Het opnemen van casting logica in methoden maakt je code modulairder en beter herbruikbaar. En omdat de methode casts() attribuut casting afbakent, wordt je code leesbaarder en beter onderhoudbaar.

Het is ook belangrijk om op te merken dat Laravel 11 achterwaartse compatibiliteit garandeert met eerdere versies. Bijgevolg kun je je bestaande codebases naadloos overzetten om de vernieuwde model casting aanpak van Laravel 11 te gebruiken. Deze compatibiliteit maakt de overstap naar Laravel 11 een soepel proces – vooral als je al bekend bent met de eerdere versies.

Vereenvoudigde configuratie

Zoals eerder vermeld, brengt Laravel 11 een verschuiving in configuratiebeheer. Het consolideert configuratie-instellingen in een enkele bron: het .env bestand. Dit is een opmerkelijk verschil met vorige Laravel versies, die configuraties verspreidden over meerdere bestanden.

Door configuraties alleen in het . env-bestand te plaatsen, wordt de organisatie aanzienlijk verbeterd. Het vereenvoudigt ook de ontwikkelworkflow, waardoor deze intuïtiever en efficiënter wordt.

Een andere belangrijke configuratie-gerelateerde update is de cascade functie, waarmee je je configuraties kunt verfijnen door onnodige opties te verwijderen die je niet wilt aanpassen. Het resultaat is compactere ontwikkeling.

Het enkele .env bestand maakt meerdere bestanden overbodig en slaat in plaats daarvan alle relevante configuraties op één plaats op. Als je echter vindt dat het .env bestand te groot wordt, kun je een commando gebruiken om het configuratiebestand terug te zetten naar de config directory. php artisan config:publish auth genereert bijvoorbeeld het auth.php bestand in de config directory.

De mogelijkheid om specifieke configuraties op te halen is een enorme zegen voor organisaties.

Gemakkelijker opsporen fouten dankzij nieuwe Dumpable property

De Dumpable property is een waardevolle toevoeging aan Laravel 11. Hiermee kun je bekende debugtools gebruiken binnen de classes, waaronder de methoden dd() en dump(). Deze methoden zijn handig tijdens het debuggen omdat ze realtime inzicht geven in een doelobject of -variabele.

Merk op dat de property Dumpable waarschijnlijk de bestaande methoden dd en dump zal vervangen in een groot aantal core classes van Laravel, waardoor een consistente en samenhangende debugging-ervaring in het hele framework wordt gegarandeerd.

Laravel 11’s vernieuwingen in afhandeling van routes

Laravel 11 verbetert de eerste versies aanzienlijk met geconsolideerde routeafhandeling. Het vermindert het aantal standaard routebestanden van vier naar twee: routes.php en console.php. Deze verandering is belangrijk omdat het boilerplate code minimaliseert en het framework intuïtiever maakt.

Het is cruciaal om op te merken dat als je API routes wil opnemen in je applicatie, deze verandering betekent dat je er bewust voor moet kiezen. Dit mechanisme ondersteunt een schonere, meer op maat gemaakte applicatiestructuur, waarbij API routes alleen worden opgenomen als dat nodig is. Om het api.php bestand te genereren en Laravel Sanctum te integreren, voer je het php artisan install:api commando uit.

Event broadcasting in Laravel 11 volgt een vergelijkbaar paradigma. Om de functionaliteit te activeren en het channels.php bestand aan te maken, voer je &php artisan install:broadcasting uit. Dit orkestreert de installatie van essentiële bestanden en configuraties, waardoor de integratie van event broadcasting in Laravel applicaties wordt versneld.

Samen ondersteunen deze veranderingen een verschuiving naar een modulaire en aanpasbare applicatiestructuur. Omdat je kunt kiezen voor specifieke functies, biedt Laravel 11 een meer op maat gemaakte aanpak voor het beheer van routebestanden dan eerdere versies.

De evolutie van Laravel’s HTTP kernel

De Laravel kernel is een vitaal onderdeel van het framework en fungeert als toegangspunt voor HTTP verzoeken en terminalopdrachten. Het heeft de stroom van deze verzoeken georkestreerd en beheert de middleware stack, routing en andere essentiële componenten die bijdragen aan de afhandeling van inkomende verzoeken door de applicatie.

Laravel 11 verwijdert de Laravel kernel. In plaats daarvan gebruik je de Bootstrap/App class, die essentiële interfaces in de container bindt. Na het instellen van de benodigde componenten, retourneert de Bootstrap/App class de instantie van de applicatie. Deze scheiding tussen het bouwen van de instantie en het uitvoeren van de applicatie en het afhandelen van reacties zorgt voor een meer modulaire architectuur.

Het verwijderen van de Laravel kernel is nog een stap naar het minimaliseren van boilerplate code. Omdat de Bootstrap/App class zorgt voor de essentiële instellingen, kun je je richten op het bouwen van de kernfuncties van je applicaties. Zodra een applicatie-instantie draait, zorgt de class Bootstrap/App voor de noodzakelijke afhandeling van webverzoeken, waardoor het ontwikkelproces wordt vereenvoudigd en een beter georganiseerde codebase wordt bevorderd.

Geconsolideerde standaard migraties voor efficiëntie

Met Laravel 11 komt er een revisie van de standaard migraties. In vorige versies, van 2014 tot 2019, waren er talloze standaard migraties verspreid over verschillende bestanden. In de nieuwste versie zijn deze bestanden gecondenseerd tot slechts twee, wat developers een meer georganiseerde en gebruiksvriendelijke ervaring biedt.

Deze vermindering van standaardmigratiebestanden vereenvoudigt de toegang tot en het beheer van gegenereerde migraties, verbetert de duidelijkheid van je databasestructuren en vermindert mogelijke verwarring en fouten.

Bovendien kun je met een schonere en eenvoudigere opzet van de standaardmigraties meer tijd besteden aan de specifieke vereisten van je projecten in plaats van te worstelen met de complexiteit van de boilerplate migratiebestanden.

De geoptimaliseerde standaard migraties van Laravel 11 dragen bij aan een soepelere ontwikkelervaring en versterken de reputatie van het framework dat eenvoud en gebruiksgemak prioriteit hebben.

PHP 8.2: de nieuwe standaard voor Laravel 11

Een andere cruciale verandering met Laravel 11 is dat het PHP 8.2 als minimumvereiste stelt. In Laravel 11 is PHP 8.2 de standaard, met PHP 8.3 in het verschiet. Afstemming op de nieuwste ontwikkelingen in het PHP ecosysteem zorgt ervoor dat Laravel compatibel blijft met PHP’s nieuwste (en komende) taalfuncties en optimalisaties.

Door de laatste twee grote PHP-versies te ondersteunen, verbetert Laravel 11 de prestaties, beveiliging en ervaring van developers. Door PHP 8.2 als minimumvereiste te kiezen, maak je je projecten toekomstbestendig en ontsluit je het volledige potentieel van de taal.

Samenvatting

Laravel 11 introduceert belangrijke updates die de ontwikkelervaring voor jou, je team en de bredere developersgemeenschap zullen verbeteren. Verbeterde prestatieoptimalisaties, verbeterde ondersteuning voor de nieuwste PHP versies en gestroomlijnde workflowfuncties maken PHP ontwikkeling zo soepel en efficiënt mogelijk.

Deze verbeteringen vertalen zich in soepelere ontwikkelworkflows, betere applicatieprestaties en een algeheel efficiënter ontwikkelproces. De kracht van onze Applicatie Hosting dienst, zoals automatisch schalen, veilige infrastructuur en verbeterde prestaties met de snelste machines van Google Cloud Platform, bieden een ideale omgeving voor het deployen van Laravel 11 applicaties.

We kunnen niet wachten om te zien welke applicaties jij bouwt met Laravel 11 – en hoe je Kinsta gebruikt om je Laravel applicaties te laten groeien.

Marcia Ramos Kinsta

Ik ben de Editorial Team Lead bij Kinsta. Ik ben een open source liefhebber en ik houd van coderen. Met meer dan 7 jaar ervaring in technisch schrijven en redactiewerk voor de tech-industrie, werk ik graag samen met mensen om duidelijke en beknopte content te creëren en workflows te verbeteren.