Introdurre nuove funzionalità in PHP 7

Utpal Biswas
Utpal Biswas

Follow

2 gennaio, 2019 – 3 min read

La comunità PHP è molto entusiasta di accogliere questa ultima release. Ma questo non significa che PHP sia rimasto stagnante in questo periodo. Hanno aggiornato così tante cose in questo periodo, ma PHP 7 è una release totalmente nuova con alcune caratteristiche eccitanti.

La VELOCITÀ è la caratteristica sorprendente che PHP 7 porta in questa release. Gli sviluppatori hanno lavorato molto duramente per rifattorizzare il codice PHP al fine di ridurre il consumo di memoria e aumentare le prestazioni e certamente ci sono riusciti. insieme a questo ci sono alcune altre caratteristiche che descriverò di seguito.

Come sappiamo PHP è considerato un linguaggio tipizzato debole. In sostanza, questo significa che PHP non richiede di dichiarare i tipi di dati. Le variabili hanno ancora dei tipi di dati associati a loro, ma si possono fare cose radicali come aggiungere una stringa a un intero senza provocare un errore. Le dichiarazioni dei tipi possono aiutarvi a definire cosa dovrebbe accadere in modo da ottenere i risultati attesi. Questo può anche rendere il vostro codice più facile da leggere. Vedremo alcuni esempi specifici tra poco

Cenni sui tipi scalari

Con PHP 7 abbiamo aggiunto i tipi scalari. In particolare: int, float, string e bool.

Con l’aggiunta di suggerimenti sui tipi scalari e l’abilitazione di requisiti rigorosi, si spera che possano essere scritti programmi PHP più corretti e auto-documentati. Ti dà anche più controllo sul tuo codice e può renderlo più facile da leggere.

Qui c’è un esempio con 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 con warning

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)

Se si verifica un mismatch di dichiarazione del tipo, viene lanciato un “Fatal Error” con strict attivato. Ecco l’esempio

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)

come vediamo quando usiamo strict mood “on” il warning è diventato Error che è un modo molto utile e strutturato per capire e ottenere l’output desiderato dal codebase.

Return Type Declarations

PH 7 supporta anche Return Type Declarations che supporta tutti gli stessi tipi come argomenti. Per specificare il tipo di ritorno, aggiungiamo due punti e poi il tipo subito prima della parentesi graffa di apertura.

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

Nuovi operatori :

PHPPH 7 ci porta anche alcuni nuovi operatori. Il primo che esploreremo è l’operatore astronave. L’operatore astronave, o operatore di confronto combinato, è una bella aggiunta al linguaggio, che completa gli operatori maggiore di e minore di. like

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

Operatore Null Coalesce

Un altro nuovo operatore, l’operatore Null Coalesce, è effettivamente il famoso if-set-or. Restituirà l’operando di sinistra se non è NULL, altrimenti restituirà quello di destra. come

$name = $firstName ?? "Guest";

Prima della 7.X era come

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

Quello che lo rende ancora più potente, è che puoi impilarli! Questa operazione controllerà ogni elemento da sinistra a destra e quando ne troverà uno che non è nullo userà quel valore. come

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

Questo è divertente, vero??

Se sei pronto per iniziare a giocare con PHP7 vai a vedere tutti i cambiamenti in PHP 7. X

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.