A prova beta di PHP 8 hà iniziatu

Intruduttu a prima versione beta di u novu ramu di a lingua di prugrammazione PHP 8 A liberazione hè prevista per u 26 di nuvembre. À u listessu tempu, e versioni currettivi di PHP 7.4.9, 7.3.21 è
7.2.33, chì eliminò errori accumulati è vulnerabili.

menu innovazioni PHP 8:

  • Accendendu compilatore JIT, l'usu di quale migliurà a produtividade.
  • sustegnu argumenti di funzioni chjamati, chì permettenu di passà valori à a funzione in relazione à i nomi, i.e. Pudete passà argumenti in ogni ordine è definisce l'argumenti opzionali. Per esempiu, "array_fill (start_index: 0, num: 100, value: 50)".
  • Quandu chjamate i metudi permessu utilizendu l'operatore "?", chì permette di inizià una chjama solu se u metudu hè presente, chì evita cuntrolli innecessarii per rinvià u valore "null". Per esempiu, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
  • sustegnu tipi di unioni, chì definisce cullezzione di dui o più tipi (per esempiu, "funzione publica foo(Foo|Bar $input): int|float;").
  • sustegnu attributi (annotazioni) chì permettenu di ligà i metadati (cum'è l'infurmazioni di tipu) à e classi senza aduprà a sintassi Docblock.
  • Supportu d'espressione scintilla, chì, à u cuntrariu di u cambiamentu, pò rinvià i valori, sustene e cundizioni di cumminzioni, utilizate paraguni stretti di tipu, è ùn anu micca bisognu di una specificazione "break".

    $result = match ($input) {
    0 => "salutu",
    '1', '2', '3' => "mondu",
    };

  • Sintaxi accurtata definizione di classi, chì vi permette di cumminà a definizione di un constructore è e proprietà.
  • novu tipu di ritornu - static.
  • novu tipu - mixte, chì pò esse usatu per stabilisce se una funzione accetta paràmetri di diversi tipi.
  • Spressione graputi per trattà l'eccezzioni.
  • WeakMap per creà oggetti chì ponu esse sacrificati durante a cullizzioni di basura (per esempiu, per almacenà cache innecessarii).
  • uppurtunità usendu l'espressione "::class" per l'uggetti (analogicu à chjamà get_class()).
  • uppurtunità definizioni in u bloccu di catch di eccezzioni chì ùn sò micca ligati à variàbili.
  • uppurtunità lassannu una virgola dopu à l'ultimu elementu in a lista di i paràmetri di funzione.
  • Nova interfaccia Stringable per identificà ogni tipu di stringa o dati chì ponu esse cunvertiti in una stringa (per quale u metudu __toString() hè dispunibule).
  • Nova funzione str_contains(), un analogu simplificatu di strpos per determinà l'occurrence di una substringa, è ancu e funzioni str_starts_with () è str_ends_with () per verificà e partite à l'iniziu è a fine di una stringa.
  • Funzione aghjuntu fdiv(), chì rializeghja una operazione di divisione senza scaccià un errore quandu si divide per zero.
  • Cambiatu una logica di stringa. Per esempiu, l'espressione 'echo "sum:" . $a + $b' era prima interpretatu cum'è "echo ("sum: " . $a) + $b', è in PHP 8 serà trattatu cum'è "echo "sum: " . ($a + $b)'.
  • Strettu cuntrollà l'operazioni aritmetiche è di bit, per esempiu, l'espressioni "[] % [42]" è "$object + 4" seranu un errore.
  • Implementatu un algoritmu di classificazione stabile in quale l'ordine di i valori identichi hè cunservatu in diverse corse.
  • Source: opennet.ru

Add a comment