vad är nytt i PHP 7.4? Topp 10 funktioner som du behöver veta

PHP7.4

PHP7.4

Varför är vissa programmeringsspråk så populära medan andra sällan används för projektutveckling och ibland till och med faller i glömska? Det finns många skäl till det. Enkelheten i syntax, funktionalitet, utvecklingsnätverk och samhällsstöd påverkar efterfrågan för varje teknik.

eftersom it-världen ständigt utvecklas måste kodningsteknologier hålla jämna steg med den föränderliga miljön genom att tillhandahålla nya funktioner, uppdateringar och förbättringar. Detta är en av de viktigaste delarna av språkframgång.

i vårt företag tycker jag om PHP på grund av de frekventa förbättringarna som utförs varje år och tror att det kommer att bli populärt i många år framöver. Sedan lanseringen av PHP 5 2004 har dess prestanda fördubblats och kanske till och med tredubblats. Detta är en av anledningarna till att vi använder PHP i vårt mjukvaruutvecklingsföretag.

det är inte konstigt att PHP för andra året i rad är bland de 10 mest populära programmeringsspråken enligt StackOverflow Developer Survey 2019. I år, det tog den 8: e plats som är en rang högre än föregående år.

på bara 7 dagar, torsdagen den 28 November, ser vi den nya versionen av PHP — PHP 7.4, som kommer att bli en av de mest funktionella versionerna någonsin. I den här artikeln kommer jag att lista och täcka den uppdaterade funktionsöversikten över PHP 7.4. Låt oss komma igång!

Arrow functions’ support

eftersom anonyma funktioner, eller stängningar, huvudsakligen tillämpas i JS, verkar de vara verbose i PHP. Deras genomförande och underhållsförfaranden är också mer komplexa.

införandet av arrow functions ’ stöd gör det möjligt för PHP-utvecklare att dramatiskt rensa upp sin kod och göra syntaxen mer koncis. Som ett resultat får du en högre nivå av kodläsbarhet och enkelhet. Ta en titt på exemplet nedan.

Så om du tidigare var tvungen att skriva den här koden:

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

med PHP 7.4 Kommer du att kunna skriva om det på följande sätt:

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

tack vare möjligheten att skapa snygg, kortare kod går webbutvecklingsprocessen snabbare, så att du kan spara tid.

typade egenskaper’ stöd

introduktionen av typade egenskaper i nästa utgåva kommer sannolikt att betraktas som en av de viktigaste uppdaterade PHP-funktionerna. Medan det tidigare inte fanns någon möjlighet att använda deklarationsmetoder för klassvariabler och egenskaper (inklusive statiska egenskaper), kan nu programmerare enkelt koda det utan att skapa specifika getter-och setter-metoder.

på grund av deklarationstyper (exklusive void och callable) kan du använda nullable typer, int, float, array, string, object, iterable, self, bool och parent.

om en webbutvecklare försöker tilldela ett irrelevant värde från typen, till exempel att deklarera $name som sträng, kommer han eller hon att få ett TypeError-meddelande.

precis som pilfunktioner låter skrivna egenskaper också PHP-ingenjörer göra sin kod kortare och renare

förspänning

huvudsyftet med denna coola nya funktion är att öka PHP 7.4-prestanda. Enkelt uttryckt är förladdning processen att ladda filer, ramar och bibliotek i OPcache och är definitivt ett bra komplement till den nya versionen. Om du till exempel använder ett ramverk måste dess filer laddas ner och kompileras om för varje begäran.

När du konfigurerar OPcache deltar dessa kodfiler för första gången i begäran och kontrolleras sedan för ändringar varje gång. Förladdning gör det möjligt för servern att ladda de angivna kodfilerna i delat minne. Det är viktigt att notera att de kommer att vara ständigt tillgängliga för alla efterföljande förfrågningar utan ytterligare kontroller för filändringar.

det är också anmärkningsvärt att nämna att PHP under förladdning också eliminerar onödigt inkluderar och löser klassberoenden och länkar med egenskaper, gränssnitt och mer.

Kovariant returnerar & kontravarianta parametrar

för närvarande har PHP mestadels invarianta parametertyper och invarianta returtyper som presenterar vissa begränsningar. Med introduktionen av covariant (typer beställs från mer specifika till mer generiska) returnerar och kontravariant (typer beställs från mer generiska till mer specifika) parametrar, kommer PHP-utvecklare att kunna ändra parameterns typ till en av dess supertyper. Den returnerade typen kan i sin tur enkelt ersättas med dess subtyp.

svaga referenser

i PHP 7.4 tillåter weakreference-klassen webbutvecklare att spara en länk till ett objekt som inte hindrar dess förstörelse. Förväxla inte det med weakref-klassen i weakref-förlängningen. På grund av den här funktionen kan de lättare implementera cacheliknande strukturer.

se exemplet med att använda den här klassen:

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

Observera också att du inte kan serialisera svaga referenser.

Coalescing tilldela operatör

en coalesce operatör är en annan ny funktion som finns i PHP 7.4. Det är till stor hjälp när du behöver använda en ternär operatör tillsammans med isset(). Detta gör att du kan returnera den första operanden om den finns och inte är NULL. Om inte, kommer det bara att returnera den andra operanden.

Här är ett exempel:

<?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';?>

en spridningsoperatör i arrayuttryck

PHP 7.4 ger ingenjörer möjlighet att använda spridningsoperatörer i arrayer som är snabbare jämfört med array_merge. Det finns två viktiga skäl till det. Först anses en spridningsoperatör vara en språkstruktur och array_merge är en funktion. Den andra anledningen är att nu kan din kompileringstid optimeras för konstanta arrayer. Som en konsekvens kommer du att ha ökat PHP 7.4-prestanda.

ta en titt på exemplet med argument uppackning i array uttryck:

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

det kommer också att vara möjligt att expandera samma array flera gånger. Dessutom, eftersom normala element kan läggas till före eller efter spridningsoperatören, kommer PHP-utvecklare att kunna använda sin syntax i matrisen.

en ny anpassad objektserialiseringsmekanism

i den nya versionen av PHP blir två nya metoder tillgängliga: __serialize och __unserialize. Genom att kombinera mångsidigheten hos det Serialiserbara gränssnittet med tillvägagångssättet att implementera __sleep / __ wakeup-metoder, kommer denna serialiseringsmekanism att tillåta PHP-utvecklare att undvika anpassningsproblem i samband med befintliga metoder. Ta reda på mer information om denna PHP-funktion.

reflektion för referenser

bibliotek, som symfony/var-dumper, är starkt beroende av ReflectionAPI för att exakt visa variabler. Tidigare fanns det inget ordentligt stöd för referensreflektion, vilket tvingade dessa bibliotek att förlita sig på hack för att upptäcka referenser. PHP 7.4 lägger till klassen ReflectionReference som löser detta problem.

stöd för att kasta undantag från _ _ toString ()

tidigare fanns det ingen möjlighet att kasta undantag från __toString-metoden. Anledningen till detta är omvandlingen av objekt till strängar utförs i många funktioner i standardbiblioteket, och inte alla är redo att ”bearbeta” undantag korrekt. Som en del av denna RFC genomfördes en omfattande granskning av strängkonverteringar i kodbasen och denna begränsning togs bort.

slutliga tankar

på bara en vecka kommer PHP 7.4 att släppas. Det finns många nya PHP-funktioner som minskar minnesanvändningen och ökar PHP 7.4-prestanda kraftigt. Du kommer att få möjlighet att undvika några tidigare begränsningar av detta programmeringsspråk, skriva renare kod och skapa webblösningar snabbare.

Lämna ett svar

Din e-postadress kommer inte publiceras.