Cosa c’è di nuovo in PHP 7.4? Top 10 caratteristiche che dovete sapere

In soli 7 giorni, vedremo il rilascio di PHP 7.4. Con i nuovi aggiornamenti, si otterrà un utilizzo ridotto della memoria e un significativo aumento delle prestazioni. Date un’occhiata alle 10 caratteristiche principali di PHP 7.4 in questo articolo!

PHP7.4

PHP7.4

Perché alcuni linguaggi di programmazione sono così popolari mentre altri sono raramente utilizzati per lo sviluppo di progetti e talvolta cadono persino nell’oblio? Ci sono molte ragioni per questo. La semplicità della sintassi, funzionalità, rete di sviluppo, e il supporto della comunità influenzano il livello di domanda per ogni tecnologia.

Poiché il mondo dell’IT è in costante sviluppo, le tecnologie di codifica devono tenere il passo con l’ambiente che cambia fornendo nuove funzionalità, aggiornamenti e miglioramenti. Questo è uno degli elementi più importanti del successo linguistico.

Nella nostra azienda, mi piace PHP a causa dei frequenti miglioramenti che vengono eseguiti ogni anno e credo che sarà popolare per molti anni a venire. Dal rilascio di PHP 5 nel 2004, le sue prestazioni sono raddoppiate e forse addirittura triplicate. Questo è uno dei motivi per cui usiamo PHP nella nostra società di sviluppo software.

Non c’è da meravigliarsi che per il secondo anno consecutivo, PHP è tra i primi 10 linguaggi di programmazione più popolari secondo StackOverflow Developer Survey 2019. Quest’anno, ha preso l ‘ 8 ° posto che è un grado più alto rispetto all’anno precedente.

In soli 7 giorni, giovedì 28 novembre, vedremo la nuova release di PHP — PHP 7.4, che diventerà una delle versioni più ricche di funzionalità di sempre. In questo articolo, elencherò e coprirò la panoramica delle funzionalità aggiornate di PHP 7.4. Cominciamo!

Supporto delle funzioni freccia

Poiché le funzioni anonime, o chiusure, sono applicate principalmente in JS, sembrano essere prolisse in PHP. Anche le loro procedure di implementazione e manutenzione sono più complesse.

L’introduzione del supporto delle funzioni arrow consentirà agli sviluppatori PHP di ripulire drasticamente il loro codice e rendere la sintassi più concisa. Di conseguenza, otterrai un livello più alto di leggibilità e semplicità del codice. Dai un’occhiata all’esempio qui sotto.

Quindi, se avete già avuto a scrivere questo pezzo di codice:

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

Con PHP 7.4, si sarà in grado di riscrivere nel seguente modo:

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

Grazie alla capacità di creare pulito, più breve codice, il processo di sviluppo di fotoricettore andrà più velocemente, consentendo di risparmiare tempo.

Supporto delle proprietà tipizzate

L’introduzione delle proprietà tipizzate nella prossima versione sarà probabilmente considerata una delle più importanti funzionalità PHP aggiornate. Mentre in precedenza non era possibile utilizzare metodi di dichiarazione per variabili e proprietà di classe (incluse le proprietà statiche), ora i programmatori possono facilmente codificarlo senza creare metodi getter e setter specifici.

A causa dei tipi di dichiarazione (esclusi void e callable), è possibile utilizzare i tipi nullable, int, float, array, string, object, iterable, self, bool e parent.

Se uno sviluppatore web tenta di assegnare un valore irrilevante dal tipo, ad esempio, dichiarando string name come stringa, riceverà un messaggio TypeError.

Come le funzioni arrow, le proprietà tipizzate consentono anche agli ingegneri PHP di rendere il loro codice più breve e più pulito

Preloading

Lo scopo principale di questa nuova funzionalità è aumentare le prestazioni di PHP 7.4. In poche parole, il precarico è il processo di caricamento di file, framework e librerie in OPcache ed è sicuramente una grande aggiunta alla nuova versione. Ad esempio, se si utilizza un framework, i suoi file dovevano essere scaricati e ricompilati per ogni richiesta.

Quando si configura OPcache, per la prima volta questi file di codice partecipano all’elaborazione della richiesta e quindi vengono controllati ogni volta per le modifiche. Il precaricamento consente al server di caricare i file di codice specificati nella memoria condivisa. È importante notare che saranno costantemente disponibili per tutte le richieste successive senza ulteriori controlli per le modifiche ai file.

È anche degno di nota menzionare che durante il precaricamento, PHP elimina anche include inutili e risolve dipendenze di classe e collegamenti con tratti, interfacce e altro ancora.

Covariant returns& contravariant parameters

Al momento, PHP ha per lo più tipi di parametri invarianti e tipi di ritorno invarianti che presentano alcuni vincoli. Con l’introduzione di parametri covarianti (i tipi sono ordinati da più specifici a più generici) e controvarianti (i tipi sono ordinati da più generici a più specifici), gli sviluppatori PHP saranno in grado di modificare il tipo del parametro in uno dei suoi supertipi. Il tipo restituito, a sua volta, può essere facilmente sostituito dal suo sottotipo.

Riferimenti deboli

In PHP 7.4, la classe WeakReference consente agli sviluppatori Web di salvare un collegamento a un oggetto che non ne impedisce la distruzione. Non confonderlo con la classe WeakRef dell’estensione Weakref. Grazie a questa funzione, possono implementare più facilmente strutture simili alla cache.

Vedere l’esempio di utilizzo di questa classe:

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

Inoltre, si noti che non è possibile serializzare riferimenti deboli.

Coalescing assign operator

Un operatore coalesce è un’altra nuova funzionalità disponibile in PHP 7.4. È molto utile quando è necessario applicare un operatore ternario insieme a isset(). Ciò ti consentirà di restituire il primo operando se esiste e non è NULL. In caso contrario, restituirà solo il secondo operando.

Ecco un esempio:

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

Un operatore di diffusione in array expression

PHP 7.4 darà agli ingegneri la possibilità di utilizzare operatori di diffusione in array che sono più veloci rispetto ad array_merge. Ci sono due ragioni principali per questo. Innanzitutto, un operatore di diffusione è considerato una struttura linguistica e array_merge è una funzione. La seconda ragione è che ora il tuo tempo di compilazione può essere ottimizzato per array costanti. Di conseguenza, avrai aumentato le prestazioni di PHP 7.4.

Dai un’occhiata all’esempio di decompressione degli argomenti nell’espressione dell’array:

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

Inoltre, sarà possibile espandere lo stesso array più volte. Inoltre, poiché gli elementi normali possono essere aggiunti prima o dopo l’operatore di diffusione, gli sviluppatori PHP saranno in grado di utilizzare la sua sintassi nell’array.

Un nuovo meccanismo di serializzazione di oggetti personalizzati

Nella nuova versione di PHP, diventano disponibili due nuovi metodi: __serializzare e __unserializzare. Combinando la versatilità dell’interfaccia serializzabile con l’approccio di implementare i metodi __sleep / __ wakeup, questo meccanismo di serializzazione consentirà agli sviluppatori PHP di evitare problemi di personalizzazione associati ai metodi esistenti. Per saperne di più informazioni su questa funzione PHP.

Reflection for references

Le librerie, come symfony / var-dumper, fanno molto affidamento su ReflectionAPI per visualizzare accuratamente le variabili. In precedenza, non esisteva un supporto adeguato per la riflessione dei riferimenti, il che costringeva queste librerie a fare affidamento sugli hack per rilevare i riferimenti. PHP 7.4 aggiunge la classe ReflectionReference che risolve questo problema.

Supporto per il lancio di eccezioni da _ _ toString ()

In precedenza non era possibile generare eccezioni dal metodo __toString. La ragione di ciò è che la conversione di oggetti in stringhe viene eseguita in molte funzioni della libreria standard e non tutte sono pronte per “elaborare” correttamente le eccezioni. Come parte di questa RFC, è stata eseguita una verifica completa delle conversioni di stringhe nella base di codice e questa restrizione è stata rimossa.

Considerazioni finali

In appena una settimana, PHP 7.4 sarà rilasciato. Ci sono molte nuove funzionalità PHP che riducono l’utilizzo della memoria e aumentano notevolmente le prestazioni di PHP 7.4. Otterrai la possibilità di evitare alcune limitazioni precedenti di questo linguaggio di programmazione, scrivere codice più pulito e creare soluzioni Web più velocemente.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.