PHP 7 10 cose che devi sapere
Sei uno sviluppatore web o il proprietario di un sito web? I tuoi siti funzionano su CMS abilitati per PHP come WordPress, Drupal, Joomla o Magento? Allora ho buone notizie per te: la beta completa di funzionalità del nuovo PHP 7 è stato rilasciato di recente. La versione principale 7.0.0 contiene così tante fantastiche funzionalità che abbiamo deciso di dedicare a questo post. Ma prima, dobbiamo inserire alcuni promemoria.
Si noti che PHP 7 è ancora in fase di sviluppo quindi non usarlo in produzione fino a novembre quando il versione finale sarà rilasciato. Se - come utente futuro - vuoi prendere la tua giusta quota dal processo di sviluppo, puoi aiutare a scaricare l'ultima versione beta, a giocarci intorno nell'ambiente di test e a segnalare i bug che hai trovato durante il test. Per scoprire quando sarà la prossima beta, ecco il calendario del progetto.
Con quello fuori mano, diamo un'occhiata a PHP 7.
1. Il nome PHP 7 (non 6)
L'attuale versione stabile utilizza il numero di versione PHP 5.6. Dopo alcune controversie, il team di sviluppo ha deciso di omettere il nome PHP 6 per la prossima major release. PHP 6 esisteva già in passato come progetto sperimentale ma non ha mai raggiunto la fase di produzione.
Per impedire agli utenti di mescolare il precedente tentativo con lo sviluppo più recente, la nuova versione principale verrà eseguita con il nome di PHP 7.
2. Il nuovo marchio Zend Engine
Il motore Zend alimenta PHP dal 1999 quando è stato introdotto con la nuova versione di PHP 4. Zend - non confondere con Zend Framework - è un motore di esecuzione open source scritto in C che interpreta il linguaggio PHP. L'attuale uso della serie 5.X di PHP Zend Engine II che ha migliorato la funzionalità del motore iniziale e aggiunge un modello di oggetto estensibile e a significativo miglioramento delle prestazioni alla lingua.
PHP 7 riceve una nuova versione del motore con il nome in codice di PHP # NG (Next Generation).
3. Due volte la velocità
Il vantaggio più facilmente riconoscibile del nuovo motore PHPNG è il significativo miglioramento delle prestazioni. Il team di sviluppo di PHPNG ha refactored il motore di Zend e ha ottimizzato l'utilizzo della memoria.
I risultati? Puoi vedere i benchmark delle prestazioni forniti dal Team Zend Performance di seguito. Usando PHP 7 non solo il tuo codice verrà eseguito più velocemente ma lo farai anche tu bisogno di meno server per servire lo stesso numero di utenti.
4. Facilita la gestione degli errori
Per usare un eufemismo, gestire errori fatali e catchable fatali non è mai stato un compito facile per i programmatori PHP. Il nuovo Eccezioni del motore ti consentirà di sostituire questo tipo di errori con eccezioni. Se l'eccezione non viene rilevata, PHP continuerà a restituire gli stessi errori fatali che ha nella serie 5.X corrente.
Il nuovo \ EngineException gli oggetti non estendono il \Eccezione Classe Base. Ciò garantisce la compatibilità con le versioni precedenti e genera due tipi diversi di eccezioni nella gestione degli errori: tradizionale e eccezioni del motore.
Per consentire ai programmatori di catturare entrambi, PHP 7 introduce un nuovo Classe genitore condivisa sotto il nome di \ BaseException.
5. Supporto per sistemi Windows a 64 bit
PHP è un membro di spicco dello stack LAMP, il che significa che il suo ambiente nativo è Linux, ma è anche possibile eseguirlo su un sistema Windows. Le serie 5.X non forniscono ancora il numero intero a 64 bit o il supporto di file di grandi dimensioni, quindi finora sono state prese in considerazione le versioni x64 sperimentale.
PHP 7 cambierà questo come esso introduce un supporto coerente a 64 bit il che significa che saranno supportati sia gli interi nativi a 64 bit che i file di grandi dimensioni, consentendo di eseguire in modo sicuro la lingua sul sistema Windows a 64 bit in futuro.
6. Nuovi astronavi e operatori a coalescenza nulle
Il Operatore di astronave gira sotto il nome ufficiale di Combined Comparison Operator. La notazione del nuovo operatore si presenta così: <=>
(un po 'come un'astronave semplificata, se la immaginate giusta).
L'operatore di spacehip restituisce 0 se entrambi gli operandi sono uguali, 1 se left è maggiore e -1 se right è maggiore. Si chiama anche a operatore di confronto a tre vie, ed esiste già in altri linguaggi di programmazione popolari come Perl e Ruby.
L'operatore Null Coalescing è denotato con due punti interrogativi (??). Puoi usarlo quando vuoi verificare se qualcosa esiste e restituire un valore predefinito, nel caso non lo fosse. L'operatore di coalesce restituisce il risultato del suo primo operando, se esiste e non è nullo, e il secondo operando in qualsiasi altro caso.
Ecco come il nuovo operatore riduce il tempo trascorso con le dichiarazioni di base:
7. Abilita dichiarazioni di tipo accurate
Hai mai voluto evitare valori di ritorno non intenzionali dichiarando il tipo di ritorno di una funzione? Bene, il nuovo PHP 7 consente agli sviluppatori di migliorare la qualità del loro codice con l'aiuto delle dichiarazioni di tipo restituito.
L'immagine sotto mostra un caso d'uso molto semplice in cui il foo () la funzione dovrebbe restituire un array. Guarda qui esempi più complicati.
Per migliorare ulteriormente la funzionalità, PHP 7 introduce 4 nuove dichiarazioni di tipo per i tipi scalari: int, float, string e bool. I nuovi tipi scalari consentono agli sviluppatori di indicare che si aspettano interi, float, stringhe o booleani da restituire. I nuovi tipi di scalari introdotti da PHP 7 saranno supportati anche dall'argomento Type Hints che consente agli sviluppatori di forzare il tipo di parametri dalla serie PHP 5.X.
8. Aggiunge classi anonime
PHP 7 consente di utilizzare classi anonime, già una pratica consolidata in altri linguaggi orientati agli oggetti come C # e Java. Una classe anonima è una classe senza un nome. L'oggetto che crea un'istanza ha la stessa funzionalità di un oggetto di una classe denominata.
La sintassi è uguale a quella a cui siamo abituati nelle classi PHP tradizionali, manca solo il nome. Se le classi anonime sono usate bene, possono accelerare la codifica e il tempo di esecuzione. Le classi anonime sono eccellenti quando una classe viene utilizzata una sola volta durante l'esecuzione e nei casi in cui una classe non ha bisogno di essere documentata.
9. Facilita le importazioni dallo stesso spazio dei nomi
La nuova funzione Group Use Declarations sarà idilliaca per quelli di voi che lo desiderano importa molte classi dallo stesso spazio dei nomi. La nuova sintassi riduce la verbosità, rende il tuo codice più ordinato e più facile agli occhi e ti consente di risparmiare molto tempo di digitazione.
Sarà anche più facile leggere e correggere i codici, poiché le dichiarazioni di utilizzo di gruppo consentono di identificare le importazioni che appartengono allo stesso modulo.
10. Pulisce la stanza
L'obiettivo di PHP 7 era liberare lo spazio per consentire il miglioramento, quindi era necessario liberarsi di molte funzionalità deprecate e di estensioni e API del server vecchie e non supportate. Se vuoi verificare quali sono questi in dettaglio, clicca qui e qui.
Tutti gli elementi rimossi sono stati deprecati per un po 'in PHP 5 quindi molto probabilmente non li hai usati per molto tempo. Tuttavia, tieni presente che se hai un'app legacy in esecuzione su versioni PHP precedenti il nuovo PHP 7 può potenzialmente rompere il codice.