Introducera nya funktioner i PHP 7

Utpal Biswas
Utpal Biswas

Följ

2 januari, 2019 – 3 min read

Php-gemenskapen är mycket glada över att kunna välkomna den här senaste versionen. Men det betyder inte att php har stått stilla vid denna tidpunkt. De har uppdaterat så många saker under tiden, men PHP 7 är en helt ny version med några spännande funktioner.

SPEED är den fantastiska funktion som PHP 7 har med sig i denna version. Utvecklarna arbetade mycket hårt för att omarbeta PHP-koden för att minska minnesförbrukningen och öka prestandan och de lyckades verkligen. tillsammans med detta finns det några andra funktioner som jag kommer att beskriva nedan.

Som vi vet anses PHP vara ett svagt typat språk. I huvudsak innebär detta att PHP inte kräver att du deklarerar datatyper. Variabler har fortfarande datatyper associerade med dem men du kan göra radikala saker som att lägga till en sträng till ett heltal utan att det resulterar i ett fel. Typdeklarationer kan hjälpa dig att definiera vad som ska hända så att du får de förväntade resultaten. Detta kan också göra din kod lättare att läsa. Vi ska titta på några specifika exempel strax nedan

Hänvisningar om skalartyper

Med PHP 7 har vi nu lagt till skalartyper. Närmare bestämt: int, float, string och bool.

Då vi lägger till tips om skalartyper och möjliggör strikta krav är förhoppningen att mer korrekta och självdokumenterande PHP-program kan skrivas. Det ger dig också mer kontroll över din kod och kan göra koden lättare att läsa.

Här är ett exempel med non strict

function total(float $a, float $b) {
return $a + $b;
}

output

total(2.8, "3.2");
// string "3.2" changed to float(3.2) no notice
//returns float(6)

output med varning

total(2, "1 week"); 
// int(2) changed to float(2.0) and string "1 week" changed to float(1.0) but you will get a "Notice: A non well formed numeric value encountered"
//returns float(3)

Om en typdeklarationsmissmatchning inträffar, kastas ett ”Fatal Error” med strict humör på. Här är exempel

declare(strict_types=1);function total(float $a, float $b) {
return $a + $b;
}total(2, "1 week");
// Fatal error: Uncaught TypeError: Argument 2 passed to total() must be of the type float, string giventotal(2.5, 1);
// int(1) change to float(1.0)
//returns float(3.5)

som vi ser när vi använder strict mood ”on” blev varningen Error vilket är ett mycket hjälpsamt och strukturerat sätt att förstå och få önskad utdata från kodbasen.

Returneringstypsdeklarationer

PHP 7 har också stöd för Returneringstypsdeklarationer som stöder alla samma typer som argument. För att ange returtypen lägger vi till ett kolon och sedan typen precis före den inledande parentesen.

function total(float $a, float $b) : float {}

Nya operatorer :

PHP 7 ger oss också några nya operatörer. Den första som vi ska utforska är rymdoperatorn. Rymdskeppsoperatören, eller Combined Comparison Operator, är ett trevligt tillägg till språket och kompletterar operatörerna större än och mindre än. like

$compare = 2 <=> 1
2 < 1? return -1
2 = 1? return 0
2 > 1? return 1

Null Coalesce Operator

En annan ny operatör, Null Coalesce Operator, är i praktiken den berömda if-set-or. Den returnerar den vänstra operanden om den inte är NULL, annars returnerar den den högra. like

$name = $firstName ?? "Guest";

För 7.X var det like

if (!empty($firstName)) $name = $firstName;
else $name = "Guest";

Vad som gör detta ännu mer kraftfullt är att du kan stapla dessa! Denna operation kommer att kontrollera varje objekt från vänster till höger och när den hittar ett som inte är noll kommer den att använda det värdet. like

$name = $firstName ?? $username ?? $placeholder ?? "Guest";

Det här är kul, eller hur??

Om du är redo att börja leka med PHP7, gå och titta på alla ändringar i PHP 7. X

Lämna ett svar

Din e-postadress kommer inte publiceras.