Laravel 10 liefdevol live

max
Max Hoogenbosch

15 februari 2023

Enrise ♡ Laravel

De update van Laravel 9 vorig jaar was er niet zomaar eentje. We schreven over deze nieuwe LTS versie een groot blog, inclusief video. Maar nu, ruim een jaar later en op Valentijnsdag notabene, komt Laravel met een nieuwe update, Laravel 10. Wij schuiven onze liefde voor Laravel niet onder stoelen of banken, dus in dit blog alles over deze nieuwste update.

Goed nieuws om mee te beginnen: het upgraden van laravel applicaties naar de laatste versie wordt met elke nieuwe versie gemakkelijker. Het upgraden duurt ongeveer 10 minuten en er zijn vrijwel geen breaking changes.

Types

Toen Laravel begon was de mogelijkheid voor type-hinting nog niet native mogelijk in PHP, hierdoor werd voor alles binnen laravel doc blocks gebruikt. Sindsdien is PHP verbeterd en kan er tegenwoordig gebruik gemaakt worden van type-hints zoals return types, union types. Laravel 10 heeft de hele application skeleton geupdate om al deze type hints ook te gebruiken. Daarbij zijn de standaard stubs ook geupdate.

class FlightController extends Controller
{
   public function index(): Response
   {
       //
   }

Laravel pennant

Laravel pennant, een nieuwe first party package die het makkelijk maakt om feature flags toe te voegen aan je laravel applicatie. Je kan hiermee bijvoorbeeld bepaalde features in je applicatie aan of uit zetten op basis van een conditie. Dit kan je ook gebruiken om een percentage van je gebruikers een nieuwe feature aan te bieden voordat je dit volledig uitrolt.

use Laravel\Pennant\Feature;
use Illuminate\Support\Lottery;
 
Feature::define('new-onboarding-flow', function () {
   return Lottery::odds(1, 10);
});

Process facade

Er is een nieuwe facade toegevoegd om gemakkelijk externe processen te starten en er mee om te gaan. De nieuwe facade maakt het ook gemakkelijk om deze interacties automatisch te testen.

$result = Process::run('ls -la');
 
return $result->output();

PHP 8.1 is verplichte kost

De minimale PHP versie is nu PHP 8.1. PHP 8.0 wordt niet meer ondersteund.

Weinig features?

Als je deze release vergelijkt met vorige versies zal je zien dat het minder features bevat. Dit komt omdat laravel sinds versie 9 meer features in kleinere minor releases stopt. Hierdoor krijgen developers vaker nieuwe updates het hele jaar door die waarde toevoegen. Een goede reden om jouw applicatie ook up-to-date te houden met deze laatste laravel versie.