Nieuwe features in Laravel 9
Dirk Jan Laros · 15 minuten leestijd · Gepubliceerd op 9-12-2021

Nieuwe features in Laravel 9

Duizenden developers en eindgebruikers over de hele wereld werken dagelijks in alle tevredenheid met Laravel applicaties. Bij Q2-software zijn we er ook erg happy mee. We hebben er door de tijd heen veel ervaring mee opgebouwd en ook wereldwijd blijft het framework breed gedragen. Laravel is en blijft een schaalbaar platform wat voor zowel kleine als grote klussen geschikt is.

In dit artikel (met name bedoeld voor techneuten) hebben wij het internet doorzocht naar nieuwe features die verwacht worden in Laravel 9:

  • Geen LTS versie?
  • Alleen PHP8 of hoger
  • Wijzigingen in migratiebestanden
  • Swiftmailer vervangen door Symfony Mailer
  • Nieuwe string helpers

Wanneer?

8 februari 2022 (was 25 januari 2022 verwacht).

Sta je te popelen om nieuwste features van Laravel 9 te installeren? Dat kan met het Laravel commando laravel new projectnaampjeverzinnen --dev. Voor een probleemloze dag, zorg alsjeblieft wel dat je PHP up-to-date is enzo.

In het verleden was het de gewoonte dat Laravel elke zes maanden met nieuwe features over de brug kwam. Elke zes maanden voelde je een opleving op het internet met vragen en opmerkingen over de wijzigingen die Taylor en zijn maten realiseerde. Het voelde soms als een rommeltje. Versienummers waren erg willekeurig: we hebben bijna zes jaar met Laravel 4 en 5 gewerkt. Nu een paar jaar later is het allemaal iets bedaard en volwassener geworden, maar we zitten ondertussen (januari 2022) wel op versie 9! Elke twaalf maanden is er nu een nieuwe release te verwachten, maar dan direct een major release; dus in januari 2023 komt Laravel 10?

Support

Laravel 9 zal updates krijgen tot en met 8 augustus 2023 (was 8 februari 2024), security fixes tot en met 8 februari 2024 (was maart 2025).

LTS versie

Waar q2-software altijd erg blij mee is zijn de LTS versies. LTS staat voor “Long Term Support” wat betekent dat er langer dan normaal updates komen op het gebied van security en bug fixing. Helaas blijkt Laravel 9 geen LTS versie te zijn, in tegenstelling tot alle geruchten die eind 2021 rondgingen. Up-to-date blijven lijkt de norm te worden.

Alleen PHP8 of hoger

Laravel 9 zal geen support meer leveren voor PHP7. Hoe graag het Laravel team en jij het ook zouden willen, maar het gaat ze niet lukken in verband met versie 6 van Symfony (waarop een groot deel van Laravel is gebaseerd). Symfony versie 6 vereist namelijk PHP versie 8… Dus, Laravel 9 is alleen te gebruiken met PHP8. Al denk ik niet dat ze heel lang hebben getreurd; PHP8 brengt veel mooie dingen met zich mee.

Query type hints

Speciaal voor de developers die vertrouwen op hun slimme IDE heeft Laravel 9 nu verbeterde type-hinting bij query functies. Wat nooit echt duidelijk werd was met welke class je nu te maken had bij ‘$query’. Het lijkt hetzelfde, maar achter de schermen zijn er dus drie versies: Query\Builder, Eloquent\Builder en Eloquent\Relation. Na verloop van tijd kan je het wel leren, maar zeker voor nieuwkomers is het fijn als je IDE je ook kan corrigeren dan wel ondersteunen, want niet er zijn kleine verschillen…

Migratiebestanden met dezelfde naam

Wellicht heb je het ook al eens gehad dat je vaker een veld wilt toevoegen aan een database tabel. Het mooie commando php artisan make:migration gaat je daarbij helpen. Maar dan… Een foutmelding, want je hebt al zo vaak add_field_to_users_table gebruikt. Verzin eens iets origineels! Iets waar veel developers tegenaan lopen.

Super vervelend natuurlijk, maar daar is in Laravel 9 nu definitief een oplossing voor gekomen. In een update van Laravel (8.37) is support ontwikkeld voor ‘anonieme stub migratiebestanden’. De migratiebestanden zullen vanaf nu anoniem zijn, dus geen eindeloze conflicten meer omdat je dezelfde naam had bedacht!

Mail

Opnieuw veranderd de mail. Door de tijd heen is dit onderdeel al diverse keren veranderd. Diverse wijzigingen en verbeteringen op het gebied van de mail functionaliteiten zagen we langskomen. Laravel bouwt sterk door op Symfony waardoor we hier ook geconfronteerd worden met een Symfony 6 update. Swiftmailer wordt vervangen door Symfony Mailer. Er zijn al een aantal grote wijzigingen in de mailfuncties van Laravel 9 bekend. Uiteraard zal Taylor zorgen dat we uitgebreide instructies krijgen bij de upgrade guide.

String Helpers

Een nieuwe PHP versie betekend ook weer nieuwe helpers voor strings. De nieuwe functies zijn str_contains(), str_starts_with(), and str_ends_with() welke Laravel zal migreren met haar eigen interne helpers \Illuminate\Support\Str.

Laravel 9 testen

Sta je al te popelen om Laravel 9 te installeren? Dat kan met het Laravel commando laravel new projectnaampjeverzinnen --dev. Voor een probleemloze dag, zorg alsjeblieft wel dat je PHP up-to-date is enzo… Meer info vind je op internet.

Onze bronnen

Samen aan de slag
Of een vraag?

stuur een e-mail naar
info@q2-software.nl
of telefoneer 085 06 06 133