Wat is nieuw in PHP 7.4? Top 10 features die je nodig hebt om

te kennen in slechts 7 dagen, zullen we de release van PHP 7.4 zien. Met nieuwe updates, Verminderd geheugengebruik, en een aanzienlijke prestatieverhoging zal worden bereikt. Neem een kijkje op de 10 belangrijkste kenmerken van PHP 7.4 in dit artikel!

PHP7. 4

PHP7.4

Waarom zijn sommige programmeertalen zo populair terwijl andere zelden worden gebruikt voor projectontwikkeling en soms zelfs in vergetelheid raken? Daar zijn genoeg redenen voor. De eenvoud van syntaxis, functionaliteit, ontwikkelingsnetwerk en ondersteuning van de gemeenschap beïnvloeden het vraagniveau voor elke technologie.

aangezien de IT-wereld zich voortdurend ontwikkelt, moeten coderingstechnologieën gelijke tred houden met de veranderende omgeving door nieuwe functies, updates en verbeteringen aan te bieden. Dit is een van de belangrijkste elementen van taalsucces.

in ons bedrijf, Ik geniet van PHP als gevolg van de frequente verbeteringen die elk jaar worden uitgevoerd en geloven dat het populair zal zijn voor de komende jaren. Sinds de release van PHP 5 in 2004 is de prestatie verdubbeld en misschien zelfs verdrievoudigd. Dit is een van de redenen waarom we PHP gebruiken in ons softwareontwikkelingsbedrijf.

Het is geen wonder dat PHP voor het tweede jaar op rij behoort tot de top 10 meest populaire programmeertalen volgens StackOverflow Developer Survey 2019. Dit jaar nam het de 8e plaats die een rang hoger is dan in het voorgaande jaar.

in slechts 7 dagen, op donderdag 28 November, zien we de nieuwe release van PHP — PHP 7.4, die een van de meest veelzijdige versies ooit zal worden. In dit artikel, zal ik een lijst en behandelen van de bijgewerkte functies overzicht van PHP 7.4. Laten we beginnen!

Arrow functions’ support

omdat anonieme functies, of sluitingen, voornamelijk in js worden toegepast, lijken ze uitgebreid te zijn in PHP. Ook de uitvoerings-en onderhoudsprocedures zijn complexer.

de introductie van de ondersteuning van arrow-functies zal PHP-ontwikkelaars in staat stellen hun code drastisch op te schonen en de syntaxis beknopter te maken. Als gevolg hiervan krijg je een hoger niveau van code leesbaarheid en eenvoud. Neem een kijkje op het voorbeeld hieronder.

Als u dit stuk code eerder moest schrijven:

function cube($n){return ($n * $n * $n);}$a = ;$b = array_map('cube', $a);print_r($b);

met PHP 7.4 kunt u het op de volgende manier herschrijven:

$a = ;$b = array_map(fn($n) => $n * $n * $n, $a);print_r($b);

dankzij de mogelijkheid om nette, kortere code te maken, zal het webontwikkelingsproces sneller gaan, waardoor u tijd kunt besparen.

Typed properties’ support

de introductie van typed properties in de volgende release zal waarschijnlijk worden beschouwd als een van de belangrijkste bijgewerkte PHP features. Hoewel er voorheen geen mogelijkheid was om declaratiemethoden te gebruiken voor klassenvariabelen en eigenschappen (inclusief statische eigenschappen), kunnen programmeurs het nu eenvoudig coderen zonder specifieke getter-en setter-methoden te maken.

vanwege declaratietypen (met uitzondering van void en callable), kunt u nullable types, int, float, array, string, object, iterable, self, bool en parent gebruiken.

als een webontwikkelaar probeert een irrelevante waarde van het type toe te wijzen, bijvoorbeeld, $name declareren als string, zal hij of zij een TypeError bericht krijgen.

net als arrow functies, kunnen typed properties PHP engineers ook hun code korter en schoner maken

Preloading

het belangrijkste doel van deze coole nieuwe functie is om PHP 7.4 prestaties te verhogen. Simpel gezegd, voorladen is het proces van het laden van bestanden, frameworks, en bibliotheken in OPcache en is zeker een geweldige aanvulling op de nieuwe release. Als u bijvoorbeeld een framework gebruikt, moesten de bestanden worden gedownload en opnieuw worden gecompileerd voor elke aanvraag.

bij het configureren van OPcache nemen deze codebestanden voor het eerst deel aan de aanvraagverwerking en worden ze elke keer op Wijzigingen gecontroleerd. Door vooraf te laden kan de server de opgegeven codebestanden in het gedeelde geheugen laden. Het is belangrijk op te merken dat ze voortdurend beschikbaar zijn voor alle volgende verzoeken zonder extra controles voor bestandswijzigingen.

Het is ook opmerkelijk om te vermelden dat tijdens het vooraf laden, PHP ook onnodige includes en klassenafhankelijkheden en koppelingen met eigenschappen, interfaces en meer elimineert en oplost.

Covariant geeft & contravariante parameters

Op dit moment heeft PHP meestal invariante parametertypes en invariante returntypes die enkele beperkingen vertonen. Met de introductie van covariant (types worden geordend van meer specifiek naar meer generiek) returns en contravariant (types worden geordend van meer generiek naar meer specifieke) parameters, PHP ontwikkelaars in staat zal zijn om het type van de parameter te veranderen in een van de supertypes. Het geretourneerde type, op zijn beurt, kan gemakkelijk worden vervangen door zijn subtype.

zwakke referenties

in PHP 7.4 staat de WeakReference class webontwikkelaars toe om een link naar een object op te slaan dat de vernietiging ervan niet voorkomt. Verwar het niet met de WeakRef klasse van de Weakref extensie. Door deze functie kunnen ze gemakkelijker cache-achtige structuren implementeren.

zie het voorbeeld van het gebruik van deze klasse:

<?php$obj = new stdClass;$weakref = WeakReference::create($obj);var_dump($weakref->get());unset($obj);var_dump($weakref->get());?>

merk ook op dat u zwakke referenties niet kunt serialiseren.

Coalescing assign operator

een coalesce operator is een andere nieuwe functie beschikbaar in PHP 7.4. Het is erg handig als u een ternaire operator samen met isset () moet toepassen. Dit zal je in staat stellen om de eerste operand terug te geven als deze bestaat en niet NULL is. Zo niet, het zal gewoon terug de tweede operand.

Hier is een voorbeeld:

<?php// Fetches the value of $_GET and returns 'nobody'// if it does not exist.$username = $_GET ?? 'nobody';// This is equivalent to:$username = isset($_GET) ? $_GET : 'nobody';// Coalescing can be chained: this will return the first// defined value out of $_GET, $_POST, and// 'nobody'.$username = $_GET ?? $_POST ?? 'nobody';?>

een spread operator in array expressie

PHP 7.4 geeft ingenieurs de mogelijkheid om spread operators te gebruiken in arrays die sneller zijn in vergelijking met array_merge. Daar zijn twee belangrijke redenen voor. Ten eerste wordt een spread operator beschouwd als een taalstructuur en array_merge is een functie. De tweede reden is dat je compilatietijd nu geoptimaliseerd kan worden voor constante arrays. Als gevolg hiervan heb je PHP 7.4 performance verhoogd.

kijk eens naar het voorbeeld van het uitpakken van argumenten in array-expressie:

$parts = ;$fruits = ;var_dump($fruits);

ook zal het mogelijk zijn om dezelfde array meerdere keren uit te breiden. Bovendien, omdat normale elementen kunnen worden toegevoegd voor of na de spread operator, PHP ontwikkelaars in staat zijn om de syntaxis te gebruiken in de array zal zijn.

een nieuw aangepast object serialisatiemechanisme

In de nieuwe versie van PHP komen twee nieuwe methoden beschikbaar: _ _ serialize en _ _ unserialize. Door de veelzijdigheid van de Serialiseerbare interface te combineren met de aanpak van het implementeren van __sleep / __ wakeup methoden, zal dit serialisatie mechanisme PHP ontwikkelaars in staat stellen om aanpassingsproblemen in verband met de bestaande methoden te voorkomen. Meer informatie over deze PHP feature.

reflectie voor referenties

bibliotheken, zoals symfony / var-dumper, zijn sterk afhankelijk van ReflectionAPI om variabelen nauwkeurig weer te geven. Voorheen was er geen goede ondersteuning voor referentie reflectie, waardoor deze bibliotheken moesten vertrouwen op hacks om referenties te detecteren. PHP 7.4 voegt de ReflectionReference-klasse toe die dit probleem oplost.

ondersteuning voor het gooien van uitzonderingen van _ _ toString ()

voorheen was er geen mogelijkheid om uitzonderingen van de __ToString methode te gooien. De reden hiervoor is dat de conversie van objecten naar strings wordt uitgevoerd in veel functies van de standaardbibliotheek, en niet allemaal klaar zijn om uitzonderingen correct te “verwerken”. Als onderdeel van deze RFC werd een uitgebreide audit van stringconversies in de codebase uitgevoerd en deze beperking werd verwijderd.

Final thoughts

in slechts een week zal PHP 7.4 worden uitgebracht. Er zijn tal van nieuwe PHP-functies die het geheugengebruik te verminderen en sterk verhogen PHP 7.4 prestaties. U zult de mogelijkheid krijgen om een aantal eerdere beperkingen van deze programmeertaal te vermijden, cleaner code te schrijven en sneller weboplossingen te creëren.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.