Jump to content


  • Tuinbever

    Tuinbever

    PHP 8.1: Wat zijn de nieuwigheden?

    Goed nieuws voor de site bezitters.

    de opvolger van PHP 8.0 is uit! Deze versie heet PHP 8.1 en brengt een aantal grote veranderingen met zich mee. Toch zijn de verschillen een stuk minder groot dan tussen PHP 5 en PHP 7. Deze zogenaamde major release brengt wel een aantal veranderingen met zich mee, waarmee je als programmeur flink wat tijd kunt besparen. Dat is niet alles; de grootste verandering is het gebruik van Just In Time, zodat scripts sneller renderen.

     

    Belangrijkste Veranderingen in PHP

    Veranderingen zorgen ervoor dat PHP-scripts in versie 8 een stuk sneller renderen. Maar dat betekent ook dat programmeurs rekening moeten houden met een aantal nieuwe functies en een aantal gewijzigde functies.

    Just In Time (PHP JIT)

    De grootste verandering is de Just In Time-compiler. Deze compileert veelgebruikte stukken code naar zogenaamde machine code. Dat brengt een verbetering in prestaties met zich mee. Dat heeft vooral te maken met de manier waarop de pagina berekend wordt door de processor. Als eindgebruiker en dus de bezoeker van de pagina zal je er weinig van merken. Op gebied van resources op je VPS verbruik je wel veel minder. Daardoor heeft de JIT-compiler in de toekomst wel veel voordelen.

    Union Types

    PHP 8 komt met zogenaamde Union Types. Zonder al te technisch te worden betekent dit, dat je twee of meer types kunt declareren. Zo kun je bijvoorbeeld een type en een array tegelijkertijd declareren. Dat scheelt een hoop nieuwe functies bouwen. Tot nu toe moest je per type een nieuwe functie programmeren.

    Nullsafe operator

    De nullsafe operator is de aanvulling op de null coalescing operator. Dat laatste werkt niet heel goed met methode calls. Zo heb je bijvoorbeeld een extra check nodig, om zeker te weten dat de methode niet NULL is. Want anders is de kans groot dat het PHP-script helemaal niet meer zal werken. Met de nullsafe operator heb je geen aparte check meer nodig.

    Attributes

    Met attributen is het mogelijk om de gegevens aan een class toe te voegen zonder gebruik te maken van docblocks. Dat is een flinke verandering ten opzichte van PHP 7.4, waarbij docblocks de enige manier waren om dit werkend te krijgen. Met de nieuwe attributes kun je meteen attributen toevoegen aan bijvoorbeeld een class, functie of constante.

    str_contains() functie

    Veel programmeurs maken gebruik van str_pos() om te controleren of een string een andere string bevat. Daardoor heb je relatief veel programmeerwerk nodig. Met PHP 8 hoef je dit niet meer te doen. Met str_contains kun je meteen een positieve of negatieve waarde terugkrijgen, zodat je direct weet of dit het geval is.

    get_debug_type functie

    Een andere functie is get_debug_type. Deze nieuwe functie geeft het type van een variabele terug. Door get_debug_type() krijg je een classname te zien. Zo weet je precies of een class bijvoorbeeld een object is.

    Komma’s in parameters

    Veel programmeurs gebruiken een trailing comma bij het opvragen van een functie. Alleen werkte dat nog niet in PHP 8, terwijl dit bij andere programmeertalen vrij standaard was. Daarom werkt dit nu ook in PHP 8. Een welkome verandering die veel programmeertijd zal besparen.

    Weak Maps

    Met Weak Maps kun je een verzameling maken van verschillende weak references. Zo kun je voorkomen dat referenties die je niet meer nodig hebt nog blijven bestaan. Het gevolg is dat er minder geheugen in beslag wordt genomen. Zeker op een VPS, waar resources niet onbeperkt, zijn is dit een goede verbetering.

    Consistente type fouten

    Ken je het programmeren met TypeErrors? Je krijgt dan wel een waarschuwing van het systeem met als antwoord ‘null’, maar verder was er maar weinig duidelijk. Aan de hand van de API’s in PHP 8 kun je interne parameters altijd uitlezen. Op die manier krijg je een duidelijke Type Error als het uitlezen van een parameter mislukt is.


    • Like 1
    • Thanks 1


    User Feedback

    Recommended Comments

    Mooi! Pagespeed is enorm afhankelijk van de gebruikte PHP versie. Ik schakelde laatst over van PHP7.0 naar PHP7.4, de pageload verbeterde enorm.

    Share this comment


    Link to comment
    Share on other sites
    Piraatje

    Geplaatst 18 uur geleden

    Vergeten jullie de VPN verbinding niet? Je internet provider zoals Ziggo of KPN kan door gebruik van de VPN niet zien wat er gebeurd op je internet verbinding en ben je volledig anoniem. Een vereiste tegenwoordig.... Gelukkig hebben we een uitgebreide handleiding geschreven met informatie. :goed:

    De handleiding van de VPN verbinding staat hier.

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Add a comment...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.


  • Who was online  9 Users were Online in the last 2 hours

×
×
  • Create New...