PHP 8: een goede investering?

PHP 8: voor de één een bekende update, voor de ander is dit een totaal onbekende term. Toch wil ik het er graag met je over hebben. Er staat namelijk een update voor de deur die (waarschijnlijk) grote invloed heeft op jouw website, aangegeven door PHP zelf:

“28 november 2021 zal de support op PHP 7.4 stoppen en op 28 november 2022 zullen er ook geen security updates meer voor komen!”

De kans is groot dat je van jouw webbouwer (hello! ;-)) hier al wat over gehoord hebt. Deze update heeft namelijk mogelijk invloed op de keuzes die je voor jouw website moet maken. Ik leg je uit wat PHP is, wat de extra mogelijkheden van PHP 8 zijn en waarom het een interessante investering voor jou kan zijn. 

PHP 8: een goede investering? | Loyals

Share

Wat is PHP?

Oke, even een stap terug, voordat we wat meer de diepte in gaan. PHP is simpel gezegd een programmeertaal waarin wij web oplossingen realiseren. Jouw webpagina’s of proces tools bouwen wij met PHP.

Net als een mobiel besturingssysteem als Android en iOS, heeft PHP ook verschillende versies. Elke versie heeft bepaalde eigenschappen en functies, waarmee PHP steeds uitgebreider en sneller wordt.

Als jouw telefoon een tijd niet geüpdatet is, worden bepaalde applicaties op je telefoon vaak niet meer ondersteund. Hetzelfde geldt voor PHP: (hosting) bedrijven stoppen op een gegeven moment met het ondersteunen van oude versies – vaak vanuit een performance en security oogpunt.

PHP 8: een nieuwe investering

Het verschil tussen de update van jouw telefoon en de update van PHP, is dat je in PHP moet investeren. 

Niet iedereen staat direct te springen wanneer je ‘investering’ noemt. Maar uiteindelijk brengt dit alleen maar voordelen met zich mee. Als je het goed doet natuurlijk. ;-)

Voordat ik écht de techniek in duik, geef ik graag 3 redenen waarom ik PHP 8 een interessante investering vind. Voor zowel onze klanten als webdevelopers.

1.     Betere prestaties

Een update is geen goede update wanneer de prestaties achterblijven. PHP 8 is een grote update binnen de PHP-taal met veel nieuwe features en optimalisaties. Door deze features hebben wij nog meer mogelijkheden om jouw product sneller en efficiënter te realiseren. 

2.     Betere beveiliging

Beveiliging is een van de belangrijkste zaken in de onlinewereld. En daar wordt continu aan gewerkt. Door PHP 8 weer nét iets veiliger te maken dan het al is, is jouw website straks ook veiliger. Dit is ook vooral interessant bij security punten die nog niet aan het licht zijn gekomen, maar waar later wel security updates voor komen. 

3.     Strenger programmeerbeleid

Van origine is PHP een vrij ‘lakse’ programmeertaal. Met andere woorden: je hebt veel vrijheid in de manier van programmeren. Dit is in de basis niet slecht, maar brengt weel meer verantwoordelijkheid met zich mee voor de programmeur. PHP 8 heeft nieuwe mogelijkheden, waarmee je bepaalde eisen aan de implementaties van jouw code kunt meegeven. Iets meer zekerheid dus!

Deze drie redenen, in combinatie met het uitfaseren van PHP 7.4, maken het interessant om PHP 8 te overwegen. 

Vanaf nu ga ik iets meer diepte in en vertel ik meer over de techniek. Heb je over bovenstaande nog vragen? Neem gerust contact met ons team op!

De nieuwe technieken van PHP 8

Ben je er nog? Nice, dan wil ik je eerst laten weten dat we nog op zoek zijn naar nieuwe PHP-developers. Check onze vacatures even na deze blog!

Hieronder lees je een aantal toffe nieuwe technieken, die PHP 8 echt weer een stuk volwassener maken! 

Union types

Laten we als voorbeeld een blog nemen, en je hebt functie om blog berichten op te halen op basis van filters (denk aan zaken als ‘online vanaf’, ‘in deze categorie’, etc).

Dan kunnen we natuurlijk zoiets doen: 

Language PHP | Loyals

Voor wie nog minder hands-on gewerkt heeft met recentere PHP-versies, door het vraagteken voor het type te plaatsen geven we aan ‘Het moet het volgende type zijn, óf null’.

Dus, in dit geval verwachten we of een array als filter, of null.

Vervolgens geven we met de dubbele punt aan wat voor type de functie moet teruggeven, dus in dit geval: Deze functie moet een instantie van Article returnen.

Wanneer je implementatie niet aan deze eisen voldoet, zal er een error plaatsvinden. 

Maar, zoals je waarschijnlijk al doorhebt, zal dit niet sluitend zijn voor ons voorbeeld. We willen ook meerdere berichten kunnen ophalen, dus zou deze functie eigenlijk een array moeten specificeren als return value.

Dat kan, maar voor dit voorbeeld wil ik ervan uitgaan dat we bij meerdere berichten een array teruggeven, en bij slechts 1 bericht een object.

Dat zou er als volgt uit zien:

Array teruggeven PHP | Loyals

Dus, nu geven we aan: Return of een array, of een Article instantie.

Wat je vaak in andere programmeertalen tegenkomt is de mogelijkheid om aan te geven dat je een array met objecten van een bepaalde class wilt defineren. Vaak ziet dat er zo uit:

CSS language | Loyals

Deze feature is echter weggestemd, mocht je benieuwd zijn naar de RFC kun je die hier terugvinden.

Union types gaan verder dan alleen return types.

Deze zijn ook inzetbaar voor function parameters: 

Union type function parameters | Loyals

En je kunt ze ook toepassen op class variabelen:

Union types op class variabelen | Loyals

Je kunt natuurlijk ook altijd een array teruggeven met daarin 1 instantie van de class, maar om deze features beter toe te lichten gaan we hier uit van een situatie waar je bij 1 resultaat een object teruggeeft. 

Nullsafe operator

Dit is een nieuwe feature waar ik zelf onwijs enthousiast van wordt!

Deze brengt namelijk onwijs veel mogelijkheden met zich mee om code te reduceren en leesbaarder te maken.

Ik denk dat onderstaande (ternary operator) voor een hoop wel bekend is:

Ternary operator PHP | Loyals

Je geeft eerst een conditie aan, gevolgd door wat te doen indien true, en daarna wat te doen indien false.

Dit is later wat versimpeld met de coalesce operator (deze heeft ook van zichzelf een isset check):

Coalesce operator PHP | Loyals

Dit is een hele fijne toevoeging, alleen werkt dit niet met methods.

Met als gevolg dat onderstaand voorbeeld in de meeste codebases niet onbekend zal zijn:

Voorbeeld 2 codebase | Loyals

Nu kan dit natuurlijk ook iets simpeler:

Voorbeeld codebase | Loyals

En natuurlijk zou je de short statements met ternary operator ook in elkaar kunnen plaatsen, dus in theorie: 

Short statements met ternary operator | Loyals

Maar, dit draagt allemaal totaal niet bij aan de leesbaarheid en overzichtelijkheid van de code. 

En daar kunnen we dus in PHP 8 helemaal mee losgaan. Bekijk onderstaand voorbeeld eens, zeker in vergelijking met bovenstaande voorbeelden, is dit echt waanzinnig mooi om toe te gaan passen:

Voorbeeld PHP 8 code | Loyals

Dit brengt zoveel structuur en overzicht met zich mee, zoveel minder regels (nu overbodige) code. Dit is een van de mooiste toevoegingen aan PHP van de laatste jaren vind ik!

Aan de slag met PHP 8

Ga jij aan de slag met PHP 8? Dan ben ik benieuwd wat jij de grootste voor- en nadelen vindt van deze nieuwe update. Sparren over nieuwe functionaliteiten vind ik altijd leuk, dus neem gerust contact met mij op!

Terug naar overzicht

Interesse gewekt of gewoon een vraag? Neem contact op met ons

Als je hieronder je gegevens achterlaat, komen we zo snel mogelijk bij je terug. Kan je vraag niet wachten? Dan mag je ons altijd bellen op 0297 38 52 52. Is het weekend of na 17:00? Een mailtje sturen is dan handiger: mail ons op [email protected].