Indfør nye funktioner i PHP 7

Utpal Biswas
Utpal Biswas

Follow

2. januar, 2019 – 3 min read

Php-fællesskabet er meget begejstret for at byde velkommen til denne seneste udgave. Men det betyder ikke, at php har stået stille på dette tidspunkt. De har opdateret så mange ting i mellemtiden, men PHP 7 er en helt ny version med nogle spændende funktioner.

SPEED er den fantastiske funktion, som PHP 7 bringer i denne version. Udviklerne har arbejdet meget hårdt på at refaktorisere PHP-koden for at reducere hukommelsesforbruget og øge ydeevnen, og det er bestemt lykkedes for dem. sammen med dette er der nogle andre funktioner, som jeg vil beskrive nedenfor.

Som vi ved, anses PHP for at være et svagt typet sprog. Det betyder i bund og grund, at PHP ikke kræver, at du skal deklarere datatyper. Variabler har stadig datatyper tilknyttet dem, men du kan gøre radikale ting som at tilføje en streng til et heltal uden at det resulterer i en fejl. Typedeklarationer kan hjælpe dig med at definere, hvad der skal ske, så du får de forventede resultater. Det kan også gøre din kode lettere at læse. Vi vil se på nogle specifikke eksempler kort nedenfor

Hinvisninger om Scalar-typer

Med PHP 7 har vi nu tilføjet Scalar-typer. Nærmere bestemt: int, float, string og bool.

Gennem tilføjelse af scalartypehints og aktivering af strenge krav er det håbet, at der kan skrives mere korrekte og selvdokumenterende PHP-programmer. Det giver dig også mere kontrol over din kode og kan gøre koden lettere at læse.

Her er et eksempel 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 advarsel

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)

Hvis der opstår en fejl i typedeklarationen, kastes en “Fatal Error” med strict humør på. her er eksempel

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 bruger strict mood “on” blev advarslen Error, hvilket er en meget nyttig og struktureret måde at forstå og få det ønskede output fra kodebasen på.

Return Type Declarations

PHP 7 understøtter også Return Type Declarations, som understøtter alle de samme typer som argumenter. For at angive returtypen tilføjer vi et kolon og derefter typen lige før den indledende krøllede parentes.

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

Nye operatorer :

PHP 7 bringer os også nogle nye operatorer. Den første, som vi skal udforske, er rumskibsoperatoren. Rumskibsoperatoren, eller Combined Comparison Operator, er en fin tilføjelse til sproget og supplerer operatørerne større end og mindre end. like

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

Null Coalesce Operator

En anden ny operatør, Null Coalesce Operator, er i praksis den legendariske if-set-or. Den returnerer den venstre operand, hvis den ikke er NULL, ellers returnerer den den højre. som

$name = $firstName ?? "Guest";

For 7.X var det som

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

Hvad der gør dette endnu mere kraftfuldt, er, at du kan stable disse! Denne operation vil kontrollere hvert element fra venstre til højre, og når den finder et element, der ikke er nul, vil den bruge denne værdi. like

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

Det er sjovt, ikke sandt??

Hvis du er klar til at begynde at lege med PHP7, så kast dig over alle ændringerne i PHP 7. X

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.