{"id":68537,"date":"2022-10-13T07:00:48","date_gmt":"2022-10-13T14:00:48","guid":{"rendered":"https:\/\/dhblog.dream.press\/blog\/?p=68537"},"modified":"2025-06-11T13:21:41","modified_gmt":"2025-06-11T20:21:41","slug":"php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it","status":"publish","type":"post","link":"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/","title":{"rendered":"PHP 8.2: Cosa Aspettarsi (Guida per Sviluppatori \u2013 Aggiornata)"},"content":{"rendered":"\n<p>Si prevede che PHP 8.2 sar\u00e0 rilasciato a novembre di quest&#8217;anno, con la versione stabile pi\u00f9 recente che \u00e8 PHP 8.1.5. Anche se \u00e8 ancora presto nel processo, c&#8217;\u00e8 stata un&#8217;accoglienza mista riguardo a PHP 8.2 e la compatibilit\u00e0 con il core di WordPress, plugin e temi.<\/p>\n\n\n<p>Tuttavia, sapere cosa aspettarsi pu\u00f2 aiutarti a <a href=\"https:\/\/www.dreamhost.com\/blog\/update-php\/\" target=\"blank&quot;\" rel=\"noopener\">prepararti per l&#8217;ultima versione di PHP<\/a>. Imparando sulle nuove funzionalit\u00e0 e quelle che verranno deprecate, puoi capire come l&#8217;aggiornamento potrebbe influenzare lo sviluppo. Questa conoscenza pu\u00f2 anche aiutarti a prepararti per il rilascio finale.<\/p>\n\n\n<p>In questo post, faremo un riassunto delle versioni pi\u00f9 recenti di PHP. Poi, parleremo delle novit\u00e0 in PHP 8.2 e discuteremo del calendario di rilascio. Saltiamo dentro!<\/p>\n\n\n<h2 id=\"h-an-overview-of-php-versions\" class=\"wp-block-heading\"><b>Panoramica delle Versioni di PHP<\/b><\/h2>\n\n\n<p><a href=\"https:\/\/help.dreamhost.com\/hc\/en-us\/articles\/214202188-PHP-overview\" target=\"blank&quot;\" rel=\"noopener\">PHP<\/a> \u00e8 il principale linguaggio di programmazione di WordPress. Gioca un ruolo fondamentale nella conversione dei dati dal tuo database in pagine web HTML per i visitatori del tuo sito.<\/p>\n\n\n<p>Come proprietario o sviluppatore di un sito web, sei probabilmente gi\u00e0 consapevole dell&#8217;importanza di mantenere aggiornati il core di WordPress, i temi e i plugin. Tuttavia, \u00e8 altrettanto fondamentale tenere aggiornato il tuo PHP.<\/p>\n\n\n<p><style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }<\/style><\/p>\n\n\n<div class=\"embed-container\"><iframe data-src=\"https:\/\/www.youtube.com\/embed\/G_O-mxZAk-g\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe><\/div>\n\n\n<p>Attualmente, WordPress raccomanda l&#8217;utilizzo di almeno <a href=\"https:\/\/wordpress.org\/about\/requirements\/\" target=\"blank&quot;\" rel=\"noopener\">PHP 7.4<\/a>. Le versioni precedenti di PHP non ricevono pi\u00f9 supporto attivo per aggiornamenti di sicurezza e correzioni di bug. Pertanto, aggiornare all&#8217;ultima versione <i>stabile<\/i> di PHP pu\u00f2 risultare in una migliore sicurezza del sito, prestazioni migliorate e livelli pi\u00f9 alti di supporto (sottolineiamo <i>stabile<\/i> perch\u00e9 una parte dei 60,000+ plugin di WordPress non \u00e8 ancora completamente compatibile con PHP 8.0, quindi \u00e8 una buona idea procedere con cautela a questi aggiornamenti).<\/p>\n\n\n<p>PHP 7.4 ha introdotto propriet\u00e0 tipizzate, un separatore numerico con underscore e vari miglioramenti. Da allora, sono state rilasciate alcune altre <a href=\"https:\/\/php.watch\/versions\" target=\"blank&quot;\" rel=\"noopener\">iterazioni di PHP<\/a>.<\/p>\n\n\n<p>PHP 8.0, rilasciato nel novembre del 2020, ha introdotto una serie di funzionalit\u00e0 essenziali. Oltre a miglioramenti della sintassi e delle prestazioni, il rilascio includeva:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Parametri nominati<\/li>\n\n\n\n<li>Sintassi di corrispondenza<\/li>\n\n\n\n<li>Tipi unione<\/li>\n\n\n\n<li>Promozione della Propriet\u00e0 del Costruttore<\/li>\n\n\n\n<li>JIT (che influisce sul modo in cui PHP esegue il codice sorgente)<\/li>\n\n\n<\/ul>\n\n\n<p>Un anno dopo \u00e8 arrivato PHP 8.1, l&#8217;ultima versione principale di PHP. Questo aggiornamento include caratteristiche significative, come:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Tipi di intersezione<\/li>\n\n\n\n<li>Propriet\u00e0 in sola lettura<\/li>\n\n\n\n<li>Enum<\/li>\n\n\n\n<li>Fibre<\/li>\n\n\n\n<li>Tipo di ritorno &#8220;never&#8221;<\/li>\n\n\n<\/ul>\n\n\n<p>Rimanere aggiornati sulle ultime versioni di PHP pu\u00f2 aiutare a migliorare le prestazioni e la sicurezza del tuo sito web. Tuttavia, \u00e8 importante sapere quali cambiamenti aspettarsi prima di effettuare l&#8217;aggiornamento. Se sei interessato a testare lo stato attuale di PHP 8.2, puoi farlo tramite <a href=\"https:\/\/github.com\/devilbox\/docker-php-fpm-8.2\" target=\"blank&quot;\" rel=\"noopener\">GitHub<\/a>.<\/p>\n\n\n<h2 id=\"h-what-s-new-in-php-8-2\" class=\"wp-block-heading\"><b>Cosa C&#8217;\u00e8 Di Nuovo In PHP 8.2<\/b><\/h2>\n\n\n<p>Si prevede che PHP 8.2 sar\u00e0 rilasciato entro la fine del 2022. Ecco il <a href=\"https:\/\/wiki.php.net\/todo\/php82\" target=\"blank&quot;\" rel=\"noopener\">calendario attuale delle uscite<\/a>, con la Disponibilit\u00e0 Generale (GA) programmata per il 24 novembre 2022:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>9 Giugno: Alpha 1<\/li>\n\n\n\n<li>23 Giugno: Alpha 2<\/li>\n\n\n\n<li>7 Luglio: Alpha 3<\/li>\n\n\n\n<li>19 Luglio: Blocco delle funzionalit\u00e0<\/li>\n\n\n\n<li>21 Luglio: Beta 1<\/li>\n\n\n\n<li>4 Agosto: Beta 2<\/li>\n\n\n\n<li>18 Agosto: Beta 3<\/li>\n\n\n\n<li>1 Settembre: Candidato al rilascio 1<\/li>\n\n\n\n<li>15 Settembre: Candidato al rilascio 2<\/li>\n\n\n\n<li>29 Settembre: Candidato al rilascio 3<\/li>\n\n\n\n<li>13 Ottobre: Candidato al rilascio 4<\/li>\n\n\n\n<li>27 Ottobre: Candidato al rilascio 5<\/li>\n\n\n\n<li>10 Novembre: Candidato al rilascio 6<\/li>\n\n\n\n<li>24 Novembre: GA<\/li>\n\n\n<\/ul>\n\n\n<p>Secondo la documentazione ufficiale sul <a href=\"https:\/\/php.watch\/versions\/8.2\" target=\"_blank\" rel=\"noopener\">sito PHP<\/a>, ci dovrebbero essere alcune nuove funzionalit\u00e0 e funzioni deprecate. Diamo un&#8217;occhiata ad alcune di esse!<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-disjunctive-normal-form-dnf-types\"><b>Tipi di Forma Normale Disgiuntiva (DNF)<\/b><\/h3>\n\n\n<p>PHP 8.2 introdurr\u00e0 una nuova funzionalit\u00e0 di tipi in <a href=\"https:\/\/wiki.php.net\/rfc\/dnf_types\" target=\"blank&quot;\" rel=\"noopener\">Forma Normale Disgiuntiva (DNF)<\/a>. La DNF \u00e8 un modo standardizzato di organizzare le espressioni booleane \u2014 specificamente, in una serie di AND combinati da OR. Quando la DNF \u00e8 applicata alle dichiarazioni di tipo, permette un modo standard di scrivere tipi Union e Intersection combinati che il parser pu\u00f2 gestire.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-new-mysqli-execute-query-function-and-mysqli-execute-query-method\"><b>Nuova Funzione mysqli_execute_query e Metodo mysqli::execute_query<\/b><\/h3>\n\n\n<p><a href=\"https:\/\/wiki.php.net\/rfc\/mysqli_execute_query\" target=\"blank&quot;\" rel=\"noopener\">Eseguire query MySQLi parametrizzate<\/a> sar\u00e0 pi\u00f9 facile in PHP 8.2, grazie alla nuova funzione <span style=\"font-family: 'courier new', courier, monospace;\">mysqli_execute_query($sql, $params)<\/span> e al metodo <span style=\"font-family: 'courier new', courier, monospace;\">mysqli::execute_query<\/span>.<\/p>\n\n\n<p>Questo ridurr\u00e0 ulteriormente la complessit\u00e0 nell&#8217;uso di query parametrizzate, rendendo cos\u00ec pi\u00f9 facile per gli sviluppatori allontanarsi da <span style=\"font-family: 'courier new', courier, monospace;\">mysqli_query()<\/span> cos\u00ec come l&#8217;escaping pericoloso\/rischioso dei valori degli utenti.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-fetch-enum-properties-in-const-expressions\"><b>Ottieni Propriet\u00e0 Enum in Espressioni const<\/b><\/h3>\n\n\n<p><a href=\"https:\/\/wiki.php.net\/rfc\/fetch_property_in_const_expressions\" target=\"blank&quot;\" rel=\"noopener\">Secondo l&#8217;RFC<\/a>, \u201cQuesto RFC propone di permettere l&#8217;uso di <span style=\"font-family: 'courier new', courier, monospace;\">-&gt;\/?-&gt;<\/span> per recuperare le propriet\u00e0 degli enum nelle espressioni costanti. La motivazione principale per questo cambiamento \u00e8 di permettere il recupero delle propriet\u00e0 nome e valore in luoghi dove gli oggetti enum non sono ammessi, come chiavi di array.\u201d<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-new-random-extension\"><b>Nuova Estensione Casuale<\/b><\/h3>\n\n\n<p>PHP 8.2 introduce una nuova estensione PHP chiamata <span style=\"font-family: 'courier new', courier, monospace;\">random<\/span>. Organizza e consolida le funzionalit\u00e0 esistenti di PHP relative alla generazione di numeri casuali. Introduce anche una serie di strutture di classi PHP e classi di eccezione per fornire opzioni granulari per i generatori di numeri casuali e la gestione delle eccezioni.<\/p>\n\n\n<p>L&#8217;estensione random \u00e8 inclusa in PHP e non esiste un&#8217;opzione di configurazione in fase di compilazione o di esecuzione per disabilitare l&#8217;estensione <span style=\"font-family: 'courier new', courier, monospace;\">random<\/span>. L&#8217;estensione <span style=\"font-family: 'courier new', courier, monospace;\">random<\/span> sar\u00e0 sempre disponibile in PHP 8.2 e versioni successive.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-new-curl-upkeep-function\"><b>Nuova Funzione curl_upkeep<\/b><\/h3>\n\n\n<p>PHP 8.2 introduce <a href=\"https:\/\/php.watch\/versions\/8.2\/curl_upkeep\" target=\"blank&quot;\" rel=\"noopener\">una nuova funzione<\/a> nell&#8217;estensione Curl chiamata <span style=\"font-family: 'courier new', courier, monospace;\">curl_upkeep<\/span>. La funzione curl_upkeep chiama <span style=\"font-family: 'courier new', courier, monospace;\">curl_easy_upkeep()<\/span> in libcurl, che \u00e8 la libreria C sottostante utilizzata dall&#8217;estensione PHP Curl.<\/p>\n\n\n<p>La funzione <span style=\"font-family: 'courier new', courier, monospace;\">curl_upkeep()<\/span> svolge il lavoro che mantiene attiva una connessione Curl. Tuttavia, non tutti i tipi di connessione che Curl integra supportano la manutenzione della connessione. Attualmente, solo le connessioni HTTP\/2 la supportano.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-new-ini-parse-quantity-function\"><b>Nuova Funzione ini_parse_quantity<\/b><\/h3>\n\n\n<p><a href=\"https:\/\/php.watch\/versions\/8.2\/ini_parse_quantity\" target=\"blank&quot;\" rel=\"noopener\"><span style=\"font-family: 'courier new', courier, monospace;\">ini_parse_quantity<\/span><\/a> \u00e8 una nuova funzione che verr\u00e0 aggiunta a PHP nella versione PHP 8.2. Essa analizza qualsiasi dimensione di dati riconosciuta dai valori INI di PHP (come 56K, 256M o 1G), e restituisce la dimensione dei dati in byte. Pu\u00f2 essere utile quando si analizzano valori INI esistenti o forniti in un&#8217;applicazione PHP. Tuttavia, non riconosce i suffissi IEC per le dimensioni dei dati come MB, MiB o GB, e non \u00e8 adatta per convertire valori standard di dimensioni dei dati in byte.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-new-memory-reset-peak-usage-function\"><b>Nuova Funzione memory_reset_peak_usage<\/b><\/h3>\n\n\n<p>PHP 8.2 includer\u00e0 una nuova funzione chiamata <a href=\"https:\/\/php.watch\/versions\/8.2\/memory_reset_peak_usage\" target=\"blank\" rel=\"noopener\"><span style=\"font-family: 'courier new', courier, monospace;\">memory_reset_peak_usage<\/span><\/a>. Reseter\u00e0 l&#8217;uso massimo della memoria restituito dalla funzione <span style=\"font-family: 'courier new', courier, monospace;\">memory_get_peak_usage<\/span>.<\/p>\n\n\n<p>Questa funzione sar\u00e0 utile per casi che coinvolgono l&#8217;invocazione di un&#8217;azione pi\u00f9 volte e la registrazione del picco di utilizzo della memoria di ogni iterazione. Gli sviluppatori potranno utilizzare questa nuova funzionalit\u00e0 per resettare il picco di utilizzo della memoria in qualsiasi momento durante la durata della richiesta.<\/p>\n\n\n<div class=\"article-newsletter article-newsletter--gradient\">\n\n\n<h2>Get Content Delivered Straight to Your Inbox<\/h2><p>Subscribe now to receive all the latest updates, delivered directly to your inbox.<\/p><form class=\"nwsl-form\" id=\"newsletter_block_\" novalidate><div class=\"messages\"><\/div><div class=\"form-group\"><label for=\"input_newsletter_block_\"><input type=\"email\"name=\"email\"id=\"input_newsletter_block_\"placeholder=\"Enter your email address\"novalidatedisabled=\"disabled\"\/><\/label><button type=\"submit\"class=\"btn btn--brand\"disabled=\"disabled\"><span>Sign Me Up!<\/span><svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.8523 0.42524L12.9323 1.34521C12.7095 1.56801 12.7132 1.9304 12.9404 2.14865L16.7241 5.7823H0.5625C0.251859 5.7823 0 6.03416 0 6.3448V7.6573C0 7.96794 0.251859 8.2198 0.5625 8.2198H16.7241L12.9405 11.8535C12.7132 12.0717 12.7095 12.4341 12.9323 12.6569L13.8523 13.5769C14.072 13.7965 14.4281 13.7965 14.6478 13.5769L20.8259 7.39879C21.0456 7.17913 21.0456 6.82298 20.8259 6.60327L14.6477 0.42524C14.4281 0.205584 14.0719 0.205584 13.8523 0.42524Z\" fill=\"white\"\/>\n<\/svg>\n<\/button><\/div><\/form><\/div>\n\n<h3 class=\"wp-block-heading\" id=\"h-readonly-classes\"><b>Classi Sola Lettura<\/b><\/h3>\n\n\n<p>Introdotte in PHP 8.1, le propriet\u00e0 readonly saranno estese in PHP 8.2 per aggiungere zucchero sintattico in modo che tutte le propriet\u00e0 della classe siano readonly contemporaneamente:<\/p>\n\n\n<pre class=\"wp-block-preformatted\">readonly class Post\n{\npublic function __construct(\npublic string $title,\npublic Author $author,\npublic string $body,\npublic DateTime $publishedAt,\n) {}\n}<\/pre>\n\n\n<p>Questo impedir\u00e0 l&#8217;aggiunta di propriet\u00e0 dinamiche alle classi.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-null-true-and-false-standalone-types\"><b>Null, True e False Come Tipi Autonomi<\/b><\/h3>\n\n\n<p>In PHP 8.2, il tipo di ritorno false sar\u00e0 disponibile come tipo autonomo piuttosto che esclusivamente come tipo unione quando si verifica un errore, cosa che \u00e8 gi\u00e0 possibile:<\/p>\n\n\n<pre class=\"wp-block-preformatted\">function alwaysFalse(): false\n{\nreturn false;\n}<\/pre>\n\n\n<p>Lo stesso vale per il tipo null. Ad esempio, come tipo autonomo, a differenza di prima, NullPost::getAuthor() sar\u00e0 in grado di restituire solo null.<\/p>\n\n\n<p>PHP 8.2 consente anche <a href=\"https:\/\/php.watch\/versions\/8.2\/true-type\" target=\"blank&quot;\" rel=\"noopener\">true<\/a> come tipo autonomo.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-deprecate-dynamic-properties\"><b>Depreca Propriet\u00e0 Dinamiche<\/b><\/h3>\n\n\n<p><a href=\"https:\/\/php.watch\/versions\/8.2\/dynamic-properties-deprecated\" target=\"blank&quot;\" rel=\"noopener\">Le propriet\u00e0 dinamiche<\/a> verranno deprecate in PHP 8.2, risultando in un ErrorException entro PHP 9.0. Queste propriet\u00e0 sono impostate su un oggetto:<\/p>\n\n\n<pre class=\"wp-block-preformatted\">class Post\n{\npublic string $title;\n}\n\n\/\/ \u2026\n\n$post-&gt;name = 'Nome';<\/pre>\n\n\n<p>Le propriet\u00e0 dinamiche offrono flessibilit\u00e0 nella creazione di classi (per esempio, oggetti valore) senza una dichiarazione di classe rigida. La loro deprecazione sar\u00e0 probabilmente un problema per gli sviluppatori che si affidano a propriet\u00e0 dinamiche perch\u00e9 li spinger\u00e0 maggiormente verso l&#8217;analisi statica. Per questa ragione, alcuni sviluppatori sono preoccupati per questo cambiamento con PHP 8.2.<\/p>\n\n\n<p>Tuttavia, le classi che utilizzano __get e __set continueranno a supportare le propriet\u00e0 dinamiche, cos\u00ec come gli oggetti di stdClass.<\/p>\n\n\n<p>In alternativa, gli sviluppatori possono utilizzare il nuovo <a href=\"https:\/\/php.watch\/versions\/8.2\/AllowDynamicProperties\" target=\"blank&quot;\" rel=\"noopener\">attributo #[AllowDynamicProperties]<\/a>, dichiarato nello spazio dei nomi globale, sulle classi per quelle propriet\u00e0:<\/p>\n\n\n<pre class=\"wp-block-preformatted\">#[AllowDynamicProperties]\nclass User() {}\n$user = new User();\n$user-&gt;foo = 'bar';<\/pre>\n\n\n<p>Sebbene non sia consigliato, un&#8217;altra opzione \u00e8 disabilitare gli avvisi di deprecazione.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-new-n-modifier\"><b>Nuovo Modificatore \/n<\/b><\/h3>\n\n\n<p>PHP 8.2 includer\u00e0 il supporto per il <a href=\"https:\/\/php.watch\/versions\/8.2\/preg-n-no-capture-modifier\" target=\"blank&quot;\" rel=\"noopener\">modificatore \/n (no capture)<\/a> per la famiglia di funzioni preg_*. Quando utilizzato, qualsiasi gruppo con meta-caratteri () non catturer\u00e0 a parte i gruppi catturati che sono nominati. Essenzialmente, il risultato \u00e8 lo stesso del segnare ogni gruppo come non catturante.<\/p>\n\n\n<p>Il motivo di questa modifica \u00e8 che il modificatore semplifica le espressioni regolari complesse per pi\u00f9 gruppi. Invece di contrassegnare ogni gruppo come non catturante, gli sviluppatori possono segnare tutti i gruppi come non catturanti. Successivamente, possono selezionare e nominare specifici gruppi che necessitano di cattura.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-redact-parameters-in-back-traces\"><b>Ometti Parametri nei Back Traces<\/b><\/h3>\n\n\n<p>Molti sviluppatori utilizzano servizi che tracciano stack di chiamate ed errori di produzione dai codici sorgente. Questi servizi possono notificare agli utenti se e quando qualcosa va storto. Ad esempio, tracciare gli stack di chiamate \u00e8 utile quando si effettua il debug di un&#8217;applicazione.<\/p>\n\n\n<p>Tuttavia, a volte le tracce di stack possono contenere informazioni sensibili, come nomi utente e password. PHP 8.2 includer\u00e0 un <a href=\"https:\/\/php.watch\/versions\/8.2\/backtrace-parameter-redaction\" target=\"blank&quot;\" rel=\"noopener\">attributo #[SensitiveParameter]<\/a> che impedir\u00e0 l&#8217;inclusione di queste informazioni nelle tracce di stack quando si verificano problemi:<\/p>\n\n\n<pre class=\"wp-block-preformatted\">function test(\n$foo,\n#[SensitiveParameter] $bar,\n$baz\n) {\nthrow new Exception('Errore');\n}\n\ntest('foo', 'bar', 'baz');<\/pre>\n\n\n<p>PHP 8.2 utilizzer\u00e0 i parametri sensibili per oscurare le informazioni private dalle tracce di stack, rendendole pi\u00f9 sicure. Questi parametri assicurano che i dati non finiscano nei log degli errori. Nota che questo attributo sar\u00e0 disponibile solo per l&#8217;uso sui parametri.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-deprecate-string-interpolation\"><b>Depreca L&#8217;Interpolazione Delle Stringhe ${}<\/b><\/h3>\n\n\n<p>Ci sono vari modi per incorporare variabili in stringhe con PHP. Tuttavia, PHP 8.2 deprecia due metodi. Il primo \u00e8 l&#8217;uso di ${} nelle stringhe:<\/p>\n\n\n<pre class=\"wp-block-preformatted\">\"Ciao ${world}\";<\/pre>\n\n\n<p>Il secondo metodo utilizza ${} (variabili variabili):<\/p>\n\n\n<pre class=\"wp-block-preformatted\">\"Ciao ${(world)}\";<\/pre>\n\n\n<p>Questo probabilmente non sar\u00e0 un problema significativo per gli sviluppatori poich\u00e9 i due metodi di interpolazione delle stringhe pi\u00f9 popolari continueranno a funzionare.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-deprecate-partially-supported-callables\"><b>Depreca Le Chiamate Parzialmente Supportate<\/b><\/h3>\n\n\n<p>Un&#8217;altra modifica deprecata sar\u00e0 con i <a href=\"https:\/\/php.watch\/versions\/8.2\/partially-supported-callable-deprecation\" target=\"blank&quot;\" rel=\"noopener\">callable parzialmente supportati<\/a>. Ci sono diversi modi per creare un callable in PHP. Pu\u00f2 essere chiamato sia con che senza parametri con la sintassi $callable(), la user_call_func(\/a_array), o utilizzando una funzione con un callback.<\/p>\n\n\n<p>I pattern di chiamata deprecati includono i seguenti:<\/p>\n\n\n<pre class=\"wp-block-preformatted\">$callable = \"self::method\";\n$callable = \"parent::method\";\n$callable = \"static::method\";\n$callable = [\"self\", \"method\"];\n$callable = [\"parent\", \"method\"];\n$callable = [\"static\", \"method\"];\n$callable = [\"MyClass\", \"MyParentClass::myMethod\"];\n$callable = [new MyClass(), \"MyOtherClass::myMethod\"];<\/pre>\n\n\n<p>A partire da PHP 8.2, chiamare una delle opzioni sopra comporter\u00e0 il seguente avviso di deprecazione:<\/p>\n\n\n<pre class=\"wp-block-preformatted\">class Test {\npublic static function myMethod(): void {\necho \"Called\";\n}<\/pre>\n\n\n<pre class=\"wp-block-preformatted\">public static function call(): void {\n$callable = 'self::myMethod';\ncall_user_func($callable);\n}\n}<\/pre>\n\n\n<pre class=\"wp-block-preformatted\">$callable = Test::call();\n\/\/ \"Chiamato\";<\/pre>\n\n\n<p>Tuttavia, passare questi callable alla funzione <span style=\"font-family: 'courier new', courier, monospace;\">is_callable<\/span> o usarli con i tipi di parametro callable non generer\u00e0 il messaggio di deprecazione. Per evitare la notifica di deprecazione, gli sviluppatori possono invece convertire le parole chiave parent, self e static nei codici callable ai rispettivi nomi delle classi usando il metodo magico::class.<\/p>\n\n\n<p>Parte della ragione dietro al cambiamento \u00e8 permettere l&#8217;uso di callable per le propriet\u00e0 tipizzate. Rende le propriet\u00e0 meno dipendenti dal contesto.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-mysqli-can-no-longer-be-compiled-with-libmysql\"><b>MySQLi Non Pu\u00f2 Pi\u00f9 Essere Compilato Con libmysql<\/b><\/h3>\n\n\n<p>In passato, PHP ha supportato due librerie per la connessione a database MySQL: mysqlnd e libmysql. A partire da PHP 5.4, la prima \u00e8 stata la libreria predefinita. Tuttavia, \u00e8 stato possibile compilare MySQLi tramite estensioni.<\/p>\n\n\n<p>A partire da PHP 8.2, compilare un&#8217;estensione MySQLi con <a href=\"https:\/\/php.watch\/versions\/8.2\/mysqli-libmysql-no-longer-supported\" target=\"blank&quot;\" rel=\"noopener\">libmysql non sar\u00e0 supportato<\/a>. Tentare di farlo comporter\u00e0 un errore di configurazione:<\/p>\n\n\n<pre class=\"wp-block-preformatted\">.\/configure --with-mysqli=FOO<\/pre>\n\n\n<p>Collegare mysqli a una libreria esterna non \u00e8 pi\u00f9 supportato<\/p>\n\n\n<p>Questo probabilmente non causer\u00e0 errori significativi per gli sviluppatori. Tuttavia, le due caratteristiche pi\u00f9 importanti supportate da libmysql che non sono disponibili con mysqlnd sono supportate per la riconnessione automatica e l&#8217;autenticazione tramite LDAP e SASL.<\/p>\n\n\n<h2 id=\"h-keep-your-wordpress-php-version-up-to-date\" class=\"wp-block-heading\"><b>Mantieni Aggiornata la Versione PHP del Tuo WordPress<\/b><\/h2>\n\n\n<p>Come sviluppatore, \u00e8 fondamentale testare il tuo codice con le versioni future di PHP. In questo caso, gli sviluppatori dovrebbero iniziare a testare il loro codice con PHP 8.2 il prima possibile per garantire che il tuo codice non comprometta i siti degli utenti quando effettuano l&#8217;aggiornamento.<\/p>\n\n\n\n\n\n\n<div\n\tclass=\"article-cta-shared article-cta-small\"\n>\n    <div class=\"tr-img-wrap-outer jsLoading\"><img decoding=\"async\" class=\"js-img-lazy \" src=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/lazy-loading-transparent.webp\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/article-small-ad-cta-placeholder.webp 1x, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/article-small-ad-cta-placeholder-x2.webp 2x\"  alt=\"Ad background image\" \/><\/div>\n\n\n\n\n  <div class=\"content-btm\">\n    <h2\n      class=\"h2--md\"\n    >\n      L&#8217;ambiente Di Sviluppo Perfetto\n    <\/h2>\n    <p\n      class=\"p--md\"\n    >\n      Ci assicuriamo che il tuo sito web sia veloce, sicuro e sempre disponibile affinch\u00e9 i tuoi visitatori ti facciano fiducia. I piani partono da $1.99\/mese.\n    <\/p>\n\n            <a\n            href=\"https:\/\/www.dreamhost.com\/hosting\/\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            Scegli Il Tuo Piano                    <\/a>\n\n  <\/div>\n<\/div>\n\n\n","protected":false},"excerpt":{"rendered":"<p>PHP 8.2 \u00e8 previsto per il rilascio a novembre di quest&#8217;anno, con la versione stabile pi\u00f9 recente che \u00e8 PHP 8.1.5. Anche se \u00e8 ancora presto nel processo, c&#8217;\u00e8 stata una ricezione mista riguardo PHP 8.2 e la compatibilit\u00e0 con il core di WordPress, i plugin e i temi. Tuttavia, sapere cosa aspettarsi pu\u00f2 aiutarti a prepararti per l&#8217;ultimo PHP [\u2026]<\/p>\n","protected":false},"author":1062,"featured_media":34862,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_metadesc":"Il rilascio di PHP 8.2 \u00e8 previsto per novembre di quest'anno. Scopri di pi\u00f9 sulle versioni precedenti, le novit\u00e0 di 8.2 e come puoi prepararti per il prossimo rilascio.","toc_headlines":"[[\"h-an-overview-of-php-versions\",\"Panoramica delle Versioni di PHP\"],[\"h-what-s-new-in-php-8-2\",\"Cosa C'\u00e8 Di Nuovo In PHP 8.2\"],[\"h-keep-your-wordpress-php-version-up-to-date\",\"Mantieni Aggiornata la Versione PHP del Tuo WordPress\"]]","hide_toc":false,"footnotes":""},"categories":[15068,15052],"tags":[],"class_list":["post-68537","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-website-design-it","category-tech-talk-it"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.3 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>PHP 8.2: Cosa Aspettarsi (Guida per Sviluppatori \u2013 Aggiornata) - DreamHost Blog<\/title>\n<meta name=\"description\" content=\"Il rilascio di PHP 8.2 \u00e8 previsto per novembre di quest&#039;anno. Scopri di pi\u00f9 sulle versioni precedenti, le novit\u00e0 di 8.2 e come puoi prepararti per il prossimo rilascio.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP 8.2: Cosa Aspettarsi (Guida per Sviluppatori \u2013 Aggiornata)\" \/>\n<meta property=\"og:description\" content=\"Il rilascio di PHP 8.2 \u00e8 previsto per novembre di quest&#039;anno. Scopri di pi\u00f9 sulle versioni precedenti, le novit\u00e0 di 8.2 e come puoi prepararti per il prossimo rilascio.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-13T14:00:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-11T20:21:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"598\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jason Cosper\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jason Cosper\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PHP 8.2: Cosa Aspettarsi (Guida per Sviluppatori \u2013 Aggiornata) - DreamHost Blog","description":"Il rilascio di PHP 8.2 \u00e8 previsto per novembre di quest'anno. Scopri di pi\u00f9 sulle versioni precedenti, le novit\u00e0 di 8.2 e come puoi prepararti per il prossimo rilascio.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/","og_locale":"en_US","og_type":"article","og_title":"PHP 8.2: Cosa Aspettarsi (Guida per Sviluppatori \u2013 Aggiornata)","og_description":"Il rilascio di PHP 8.2 \u00e8 previsto per novembre di quest'anno. Scopri di pi\u00f9 sulle versioni precedenti, le novit\u00e0 di 8.2 e come puoi prepararti per il prossimo rilascio.","og_url":"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/","og_site_name":"DreamHost Blog","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_published_time":"2022-10-13T14:00:48+00:00","article_modified_time":"2025-06-11T20:21:41+00:00","og_image":[{"width":900,"height":598,"url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg","type":"image\/jpeg"}],"author":"Jason Cosper","twitter_card":"summary_large_image","twitter_creator":"@dreamhost","twitter_site":"@dreamhost","twitter_misc":{"Written by":"Jason Cosper","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/#article","isPartOf":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/"},"author":{"name":"Jason Cosper","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/person\/2273b8bf7336df78f6d99a89c17253c4"},"headline":"PHP 8.2: Cosa Aspettarsi (Guida per Sviluppatori \u2013 Aggiornata)","datePublished":"2022-10-13T14:00:48+00:00","dateModified":"2025-06-11T20:21:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/"},"wordCount":1833,"publisher":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/#primaryimage"},"thumbnailUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg","articleSection":["Design del Sito Web","Tech Talk"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/","url":"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/","name":"PHP 8.2: Cosa Aspettarsi (Guida per Sviluppatori \u2013 Aggiornata) - DreamHost Blog","isPartOf":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/#primaryimage"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/#primaryimage"},"thumbnailUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg","datePublished":"2022-10-13T14:00:48+00:00","dateModified":"2025-06-11T20:21:41+00:00","description":"Il rilascio di PHP 8.2 \u00e8 previsto per novembre di quest'anno. Scopri di pi\u00f9 sulle versioni precedenti, le novit\u00e0 di 8.2 e come puoi prepararti per il prossimo rilascio.","breadcrumb":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/#primaryimage","url":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg","contentUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg","width":900,"height":598,"caption":"what to expect with PHP 8.2"},{"@type":"BreadcrumbList","@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/php-82-cosa-aspettarsi-guida-per-sviluppatori-aggiornata-it\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dhblog.dream.press\/blog\/"},{"@type":"ListItem","position":2,"name":"PHP 8.2: Cosa Aspettarsi (Guida per Sviluppatori \u2013 Aggiornata)"}]},{"@type":"WebSite","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#website","url":"https:\/\/www-dev.dreamhost.com\/blog\/","name":"DreamHost Blog","description":"","publisher":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www-dev.dreamhost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization","name":"DreamHost","url":"https:\/\/www-dev.dreamhost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","contentUrl":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","width":1200,"height":168,"caption":"DreamHost"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost","https:\/\/www.instagram.com\/dreamhost\/","https:\/\/www.linkedin.com\/company\/dreamhost\/","https:\/\/www.youtube.com\/user\/dreamhostusa"]},{"@type":"Person","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/person\/2273b8bf7336df78f6d99a89c17253c4","name":"Jason Cosper","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/02\/IMG_4807-scaled.jpeg","url":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/02\/IMG_4807-scaled.jpeg","contentUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/02\/IMG_4807-scaled.jpeg","caption":"Jason Cosper"},"description":"Jason is DreamHost\u2019s WordPress Product Advocate, based out of Bakersfield, CA. He is currently working on making our DreamPress product even better. In his free time, he likes to curl up on the couch and watch scary movies with his wife Sarah and three very small dogs. Follow him on Twitter.","url":"https:\/\/www-dev.dreamhost.com\/blog\/author\/jasoncosper\/"}]}},"lang":"it","translations":{"it":68537,"es":34876,"en":34859,"de":50851,"pt":51398,"pl":51402,"ru":51405,"uk":51416,"fr":70669,"nl":70695},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/68537","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/users\/1062"}],"replies":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/comments?post=68537"}],"version-history":[{"count":2,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/68537\/revisions"}],"predecessor-version":[{"id":68539,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/68537\/revisions\/68539"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/media\/34862"}],"wp:attachment":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/media?parent=68537"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/categories?post=68537"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/tags?post=68537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}