we hebben weer een nieuw nieuwtje
Wat is nieuw in Laravel 8?
Wat is Laravel?
Om te weten wat nieuw is in Laravel 8 is het natuurlijk handig om eerst te weten wat Laravel is. Laravel is een open source PHP Framework dat is opgezet door Taylor Otwell. Het doel hiermee is om gemakkelijk, snel en veilige nieuwe web systemen op te zetten. Laravel is momenteel zelfs het meest gebruikte PHP Framwork. Meer weten over laravel?
Laravel 7 naar 8
Vergeleken met Laravel 6 & 7, zijn er in deze update veel nieuwe features. Zo gaat Laravel steeds meer richting het “scheiden” van componenten. Zo kon je voorheen altijd authorizatie simpel “activeren” doordat het al toegevoegd was, maar nu dien je een nieuwe package te installeren.
Laravel heeft namelijk een nieuwe package, namelijk laravel jetstream. Het heeft een nieuwe scaffolding binnen laravel waardoor het ook voor de developer zelf even iets totaal anders is. Maar er zitten daardoor ook standaard nieuwe functies ingebouwd. Zo kun je standaard je account aanpassen binnen een nieuwe installatie met Two Factor Authentication (2fa) en een profiel image uploaden. Dit kost normaal gesproken niet erg veel werk om zelf te bouwen, maar voor een beginnende laravel developer is het natuurlijk erg fijn dat het er al in zit.
De belangrijkste updates op een rijtje
Scaffolding aanpassingen
In laravel 8 zijn er een aantal aanpassingen doorgevoerd op het gebied van de folder structuur (scaffolding). Zo staan de models nu standaard in App\Models i.p.v. direct in de App folder.
Ook zijn er aanpassingen doorgevoerd op de factories. Ze hebben nu de Factory class volledig omgegooid om zo meer structuur te kunnen bieden.
Handige dingen om te weten
Daarnaast heeft laravel over de gehele update allerlei nieuwe functies / classes bijgevoegd die het makkelijker voor je maker. Hier een kleine opsomming van een aantal interessante updates:
- Migration Squasing – Wanneer je veel migrations hebt kan je migrations folder helemaal vol lopen, hier hebben ze nu een functie op gemaakt die alle migrations squashed naar een enkele schema file.
php artisan schema:dump --prune
- Batching – Dit is bedoeld voor met name api gerelateerde functies. Het idee ervan is om verschillende functies uit te voeren binnen een “batch” doormiddel van de Bus class.
- Ratelimitter – Laravel heeft nu een ratelimit facade waarin je nieuwe rate limits kunt aangeven. Voor bijvoorbeeld een “pro account” die 1000 calls per minuut mag maken, of een “plus account” die 500 calls per minuut mag maken.
- Maintenance mode – De onderhouds modus heeft nu een optie om een secret key mee te geven waardoor je als admin alsnog bij de site kunt.
- Route update – Ook is de manier van een functie binnen een controller aanroepen aangepast, voorheen ging dat altijd doormiddel van een string, nu geef je een array mee, met het eerste item de class (controller) en het 2e item is de functie.
Er zijn nog meer aanpassingen. Kijk daarvoor vooral de release notes zelf van laravel op https://laravel.com/docs/8.x/releases.