{"id":12708,"date":"2022-12-08T10:07:00","date_gmt":"2022-12-08T10:07:00","guid":{"rendered":"https:\/\/newblog.siteground.com\/it\/?p=12708"},"modified":"2024-11-26T12:01:51","modified_gmt":"2024-11-26T12:01:51","slug":"php-8-2-release-candidate-sui-server-siteground","status":"publish","type":"post","link":"https:\/\/it.siteground.com\/blog\/php-8-2-release-candidate-sui-server-siteground\/","title":{"rendered":"PHP 8.2 disponibile sui server SiteGround"},"content":{"rendered":"\n<div class=\"post-page__colored-blocks post-page__colored-blocks--update\"><p class=\"text text--size-medium color-darkest\"><meta charset=\"utf-8\">Siamo lieti di annunciare che PHP 8.2 \u00e8 ora considerato stabile ed \u00e8 stato distribuito su tutti i server SiteGround. Ancora una volta, siamo tra le prime aziende ad averlo gi\u00e0 disponibile sulla nostra piattaforma di hosting. Leggi l&#8217;articolo qui sotto per saperne di pi\u00f9 sulle nuove funzionalit\u00e0 dell&#8217;ultima versione di PHP.<\/p><\/div>\n\n\n\n<p>\u00c8 arrivato il momento dell&#8217;anno che tutti i buoni sviluppatori PHP stavano aspettando! Babbo (ElePHPant) Natale \u00e8 arrivato come al solito in anticipo in SiteGround e ha portato  tante nuove chicche che rendono pi\u00f9 facile per gli sviluppatori lavorare sui loro progetti.<\/p>\n\n\n\n<p>PHP 8.2 \u00e8 ora stabile e disponibile sui server SiteGround. Diamo un&#8217;occhiata ad alcune delle novit\u00e0 in arrivo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Nuove_Funzionalita\"><\/span>Nuove Funzionalit\u00e0<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Per prima cosa, diamo un&#8217;occhiata ad alcune delle nuove funzionalit\u00e0 che saranno maggiormente interessanti per gli sviluppatori PHP. Questo non \u00e8 un elenco esaustivo delle novit\u00e0. \u00c8 pi\u00f9 che altro un breve elenco di cose a cui penso che la maggior parte degli sviluppatori PHP sar\u00e0 interessata.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Classi readonly<\/h3>\n\n\n\n<p>In PHP 8.1 abbiamo le propriet\u00e0 <strong>readonly<\/strong> per le classi. Questo \u00e8 stato un grande balzo in avanti per molti progetti. Tuttavia, c&#8217;\u00e8 ancora un piccolo buco che doveva essere tappato, le classi. S\u00ec, puoi rendere ogni propriet\u00e0 digitata in una classe di sola lettura e sei a posto, ma onestamente questo richiede un sacco di scrittura e molti come me sono abbastanza pigri. Con PHP 8.2 possiamo invece contrassegnare un&#8217;intera classe come readonly.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">readonly class MyClass {\n    public int $myProp;\n    public string $myOtherProp;\n    public __construct(string $myOtherProp, int $myProp) \n    {\n        $this-&gt;myProp = $myProp;\n        $this-&gt;myOtherProp = $myOtherProp;\n    }\n}<\/pre>\n\n\n\n<p>Qui abbiamo una classe definita come <strong>readonly<\/strong>. Abbiamo 2 propriet\u00e0 della classe ed entrambe sono intrinsecamente readonly. Si applicano ancora le regole di sola lettura di PHP 8.1 ed \u00e8 possibile inizializzare la propriet\u00e0 solo una volta, dopodich\u00e9 \u00e8 stata impostata.<\/p>\n\n\n\n<p><strong>$myObj = new MyClass(\u2018Cal era qui\u2019,42);<\/strong><\/p>\n\n\n\n<p>Tuttavia, una volta inizializzate, ora sono immutabili.<\/p>\n\n\n\n<p><strong>$myObj-&gt;myProp = \u2018Cal non \u00e8 pi\u00f9 qui\u2019;<\/strong><\/p>\n\n\n\n<p><strong>\/\/ Fatal Error: Uncaught Error: Cannot modify readonly property MyClass::myProp<\/strong><\/p>\n\n\n\n<p>Un altro comportamento della classe readonly \u00e8 che le propriet\u00e0 non possono mai essere aggiunte dinamicamente alla classe. Di seguito parliamo della deprecazione delle propriet\u00e0 dinamiche e di come questa sia una buona cosa. C&#8217;\u00e8 anche un&#8217;annotazione che ti consente di ignorarla. Tuttavia, se si contrassegna una classe come readonly, non \u00e8 possibile sovrascriverla.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Costanti nei Traits<\/h3>\n\n\n\n<p>I Traits sono con noi da PHP 5.4. Sono stati a lungo la risposta alla &#8220;composizione sull&#8217;eredit\u00e0&#8221;. Ora i traits stanno ottenendo una nuova interessante funzionalit\u00e0, la capacit\u00e0 di definire le costanti in un trait.<\/p>\n\n\n\n<p><strong>trait MyTrait {<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;private const MY_CONSTANT = 42;<\/strong><\/p>\n\n\n\n<p><strong>}<\/strong><\/p>\n\n\n\n<p>Ora, se il tuo trait utilizza una costante, puoi definirlo nel trait e non devi ricordarti di definirlo in ogni classe che utilizza il trait.<\/p>\n\n\n\n<p><strong>trait MyTrait {<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;private const MY_CONSTANT = 42;<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;public function meaningOfLife() : int<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;{<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return self::MY_CONSTANT;<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;}<\/strong><\/p>\n\n\n\n<p><strong>}<\/strong><\/p>\n\n\n\n<p><strong>class MyClass {<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;use MyTrait;<\/strong><\/p>\n\n\n\n<p><strong>}<\/strong><\/p>\n\n\n\n<p><strong>$myObj = new MyClass();<\/strong><\/p>\n\n\n\n<p><strong>echo $myObj-&gt;meaningOfLife(); \/\/ prints 42<\/strong><\/p>\n\n\n\n<p>Come ogni cosa nella vita, ci sono alcune regole.<\/p>\n\n\n\n<p>I trait possono definire costanti di classe. Se una classe utilizza quel trait, pu\u00f2 anche definire la stessa costante di classe <strong>purch\u00e9 sia \u200b\u200bla visibilit\u00e0 sia il valore siano esattamente gli stessi<\/strong>. Quindi l&#8217;esempio sopra funziona ma quello sotto riporter\u00e0 un errore irreversibile.<\/p>\n\n\n\n<p><strong>trait MyTrait {<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;private const MY_CONSTANT = 42;<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;public function meaningOfLife() : int<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;{<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return self::MY_CONSTANT;<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;}<\/strong><\/p>\n\n\n\n<p><strong>}<\/strong><\/p>\n\n\n\n<p><strong>class MyClass {<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;use MyTrait;<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;public const MY_CONSTANT = 42;<\/strong><\/p>\n\n\n\n<p><strong>}<\/strong><\/p>\n\n\n\n<p>Eppure, anche con le regole che devi seguire, questo \u00e8 un vero passo avanti. I traits sono un ottimo modo per condividere il codice tra le classi e ora sono ancora pi\u00f9 autonomi.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Estensione casuale 5.x + Miglioramento dell&#8217;estensione casuale<\/h3>\n\n\n\n<p>Il generatore di numeri casuali di PHP originale \u00e8 ancora nel codice di base. Non \u00e8 mai stato fantastico ed \u00e8 assolutamente inutile per usi crittografici. Con PHP 7, abbiamo avuto un paio di nuove funzioni, <strong>random_int()<\/strong> e <strong>random_bytes()<\/strong>. Hanno fatto molto per risolvere i problemi, ma sotto il cofano sono solo interfacce per il generatore di numeri casuali del sistema operativo nativo. All&#8217;epoca questa era una buona soluzione, ma il problema \u00e8 che \u00e8 lenta.<\/p>\n\n\n\n<p>Ora con PHP 8.2 non solo otteniamo un generatore di numeri casuali completamente nuovo, ma \u00e8 integrato in PHP e otteniamo un&#8217;interfaccia orientata agli oggetti estensibile.<\/p>\n\n\n\n<p>Si tratta in realt\u00e0 di due diverse RFC che sto raggruppando insieme. Dopo che il primo &#8220;Random Extension 5.x&#8221; \u00e8 stato votato e approvato, si \u00e8 scoperto che c&#8217;erano alcuni problemi con esso. Una seconda RFC, &#8220;Random Extension Improvement&#8221;, \u00e8 stata preparata e votata per risolvere i problemi riscontrati con la prima.<\/p>\n\n\n\n<p>Il risultato finale \u00e8 un nuovo insieme di classi che ci danno numeri pseudo-casuali migliori in PHP.<\/p>\n\n\n\n<p>Mentre stiamo effettivamente ottenendo diversi nuovi generatori di numeri casuali (RNG), per semplicit\u00e0 discuter\u00f2 la nuova classe <strong>Random\\Engine\\Secure<\/strong>.<\/p>\n\n\n\n<p><strong>$engine = new Random\\Engine\\Secure();<\/strong><\/p>\n\n\n\n<p><strong>$randomString = $engine-&gt;generate(); \/\/ a random binary string<\/strong><\/p>\n\n\n\n<p><strong>echo bin2hex($randomString);&nbsp;<\/strong><\/p>\n\n\n\n<p>Ora, se vogliamo fare qualcosa come ordinare un array, abbiamo bisogno di uno dei nuovi oggetti Randomizer.<\/p>\n\n\n\n<p><strong>$randomizer = new Random\\Randomizer($engine);<\/strong><\/p>\n\n\n\n<p><strong>$items = range(1, 10);<\/strong><\/p>\n\n\n\n<p><strong>$randomizedItems = $randomizer-&gt;shuffleArray($items);<\/strong><\/p>\n\n\n\n<p><strong>print_r($randomizedItems);<\/strong><\/p>\n\n\n\n<p>Nell&#8217;esempio sopra, abbiamo usato l&#8217;engine Secure. L&#8217;engine Secure non accetta un seme (seed) e generer\u00e0 sempre una stringa non riproducibile. I motori che ti consentono di specificare un seme produrranno gli stessi risultati ogni volta se utilizzi lo stesso seme.<\/p>\n\n\n\n<p>La classe Randomizer fornisce anche molti altri metodi che sono davvero ci\u00f2 che gli sviluppatori PHP stanno cercando.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>getInt() : int<\/strong><br>Questa rimpiazza la vecchia funzione&nbsp;<strong>mt_rand()<\/strong><\/li><li><strong>getInt(int $min, int $max) : int<br><\/strong>Questa rimpiazza la vecchia funzione&nbsp;<strong>mt_rand()<\/strong>&nbsp;e quella nuova&nbsp;<strong>random_int()<\/strong><\/li><li><strong>getBytes(int length): string<\/strong><br>Questa rimpiazza la funzione&nbsp;<strong>random_bytes()<\/strong>&nbsp;<\/li><li><strong>shuffleArray(array $array): array<\/strong><br>Questa rimpiazza la vecchia funzione&nbsp;<strong>shuffle_array()<\/strong><\/li><li><strong>shuffleString(string $string): string<\/strong><br>Questa rimpiazza la vecchia funzione&nbsp;<strong>str_shuffle()<\/strong><\/li><\/ul>\n\n\n\n<p>Tra le altre cose, poich\u00e9 questo porta tutte le funzionalit\u00e0 di randomizzazione in un&#8217;unica area del motore, snellisce il codice principale e render\u00e0 pi\u00f9 semplici ulteriori miglioramenti.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Grazie_di_tutto_e_passiamo_oltre\"><\/span>Grazie di tutto e passiamo oltre<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Tutte le cose buone hanno una fine e questo include alcune funzionalit\u00e0 e comandi di PHP. Diamo un&#8217;occhiata ad un paio di importanti deprecazioni che, se non stai attento, finiranno per causarti problemi.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Deprecazione delle propriet\u00e0 dinamiche<\/h3>\n\n\n\n<p>A prima vista, questo sembra che sar\u00e0 un grosso problema. Poich\u00e9 PHP ha ottenuto il modello a oggetti corrente, \u00e8 stato possibile aggiungere propriet\u00e0 a un oggetto ogni volta che lo desideri. Ora qualcuno pensa che questo comportamento sia una cosa negativa. (SUGGERIMENTO: \u00e8 sempre stata una brutta cosa, ma molti sviluppatori ne hanno approfittato.)<\/p>\n\n\n\n<p><strong>class MyClass {<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;public string $name;<\/strong><\/p>\n\n\n\n<p><strong>}<\/strong><\/p>\n\n\n\n<p><strong>$myObj = new MyClass():<\/strong><\/p>\n\n\n\n<p><strong>$myObj-&gt;nmae = \u2018Cal Evans\u2019;<\/strong><\/p>\n\n\n\n<p>Si noti che ho sbagliato a scrivere il <strong>nome<\/strong> della propriet\u00e0. So di essere probabilmente l&#8217;unico sviluppatore che ha sbagliato a scrivere il nome di una propriet\u00e0, ma in PHP quando succede, ottengo una nuova propriet\u00e0 sull&#8217;oggetto e la propriet\u00e0 originale rimane invariata. Non era mia intenzione.<\/p>\n\n\n\n<p>A partire da PHP 8.2, questo emetter\u00e0 un AVVISO DEPRECATO.<\/p>\n\n\n\n<p>Ci sono 3 eccezioni a questa nuova regola.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Qualsiasi istanza di StdClass sar\u00e0 comunque in grado di accettare propriet\u00e0 dinamiche.<\/li><li>Qualsiasi classe con i metodi magic __get() e __set() accetter\u00e0 comunque qualsiasi propriet\u00e0.<\/li><li>Qualsiasi classe con l&#8217;annotazione del compilatore <strong>#[AllowDynamicProperties]<\/strong> e qualsiasi classe figlia consentir\u00e0 di impostare le propriet\u00e0 dinamiche.<\/li><\/ul>\n\n\n\n<p>Quindi, sebbene non tutto sia perduto per coloro che dipendono da questa &#8220;caratteristica&#8221; di PHP, se lo utilizzerai ancora, dovrai apportare alcune modifiche al tuo codice.<\/p>\n\n\n\n<p>La buona notizia \u00e8 che tutto ci\u00f2 che accadr\u00e0 in questo momento \u00e8 l&#8217;avviso emesso nei file di registro. Quindi, mentre potrebbe riempire i tuoi file di registro ricordandoti che devi risolvere questo problema, PHP 8.2 non interromper\u00e0 il tuo codice. Ci\u00f2 accadr\u00e0 in PHP 9.0 quando l&#8217;avviso \u2013 e la possibilit\u00e0 di aggiungere automaticamente propriet\u00e0 dinamiche \u2013 verr\u00e0 rimosso da PHP.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">(Parziale) Deprecazione dell&#8217;interpolazione di stringa ${}<\/h3>\n\n\n\n<p>Questo \u00e8 un altro cambiamento che pensavo sarebbe stato un grosso problema. Si \u00e8 scoperto che probabilmente non influenzer\u00e0 molti sviluppatori.<\/p>\n\n\n\n<p>Esistono 4 modi per implementare la sintassi &#8220;{$variableName}&#8221;, 2 che hanno senso e due che non lo hanno. Vediamoli insieme:<\/p>\n\n\n\n<p><strong>echo \u201c$<strong><strong>sensoDellaVita<\/strong><\/strong>\u201d;<\/strong><\/p>\n\n\n\n<p>Questa \u00e8 di gran lunga la versione pi\u00f9 comune dell&#8217;interpolazione di stringhe. Metti semplicemente la variabile in una stringa tra virgolette. Se stai facendo questo, sei a posto, e ci sono due modi.<\/p>\n\n\n\n<p><strong>echo \u201c{<strong>sensoDellaVita<\/strong>}\u201d;<\/strong><\/p>\n\n\n\n<p><strong>echo \u201c{$dogulasAdams-&gt;sensoDellaVita()}\u201d;<\/strong><\/p>\n\n\n\n<p>L&#8217;ho sempre considerata &#8220;vecchia scuola&#8221;. Non lo facevo in questo modo da molto tempo. Funziona ancora, \u00e8 pulito ed \u00e8 facile da capire. <\/p>\n\n\n\n<p>Questo \u00e8 anche l&#8217;unico metodo che consente di utilizzare le propriet\u00e0 e i metodi degli oggetti. Quindi, se vuoi usare l&#8217;interpolazione di stringhe con un oggetto, avrai bisogno di questo metodo.<\/p>\n\n\n\n<p><strong>echo \u201c${<strong>sensoDellaVita<\/strong>}\u201d;<\/strong><\/p>\n\n\n\n<p>Questo sopra invece sar\u00e0 deprecato. S\u00ec, fa la stessa cosa dei primi due, ma \u00e8 un po&#8217; pi\u00f9 confuso perch\u00e9 $ \u00e8 fuori dalle parentesi graffe.<\/p>\n\n\n\n<p><strong>$quarantaDue = 42;<\/strong><\/p>\n\n\n\n<p><strong>$<strong>sensoDellaVita<\/strong> = \u2018quarantaDue\u2019;<\/strong><\/p>\n\n\n\n<p><strong>echo \u201c${sensoDellaVita}\u201d;<\/strong><\/p>\n\n\n\n<p>Infine, abbiamo il modo in cui puoi usare &#8220;variabili&#8221; dall&#8217;interpolazione di stringhe. Questo \u00e8 solo troppi livelli di indirizzamento. Nel codice sopra, alla fine arriviamo al punto in cui &#8220;echeggiamo&#8221; 42, ma prendiamo la strada pi\u00f9 lunga.<\/p>\n\n\n\n<p>A partire da PHP 8.2, le ultime due strutture emetteranno un AVVISO DI DEPRECAZIONE nei file di registro. In PHP 9.0, smetteranno del tutto di funzionare e causeranno l&#8217;arresto anomalo del programma (o lanceranno un errore che puoi intercettare, ma probabilmente non puoi recuperare).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Ricapitoliamo\"><\/span>Ricapitoliamo<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Questa \u00e8 la prima Release Candidate di PHP 8.2. Non giocarci su nessun sito in produzione. Se vuoi testarla con un sito esistente, imposta un nuovo sito per il test, clona il tuo sito di produzione in esso e gioca con quello. Quando hai finito, puoi semplicemente eliminarlo.<\/p>\n\n\n\n<p>Mentre ti curi nel tuo nuovo ambiente di test, controlla i file di registro dopo ogni test. Assicurati che non ci siano errori e verifica se vengono visualizzati nuovi avvisi.<\/p>\n\n\n\n<p>Se PHP 8.2 \u00e8 qualcosa di simile a PHP 8.0 e PHP 8.1, non mi aspetto che il codice PHP moderno abbia problemi con esso. Per fortuna, i tecnici di SiteGround ti rendono incredibilmente facile testare le cose per assicurarti che il tuo sito possa funzionare il pi\u00f9 velocemente possibile con PHP 8.2<\/p>\n\n\n\n<p>A proposito di prestazioni, PHP 8.2 non \u00e8 stato ancora adeguatamente valutato, ma ci aspettiamo che ogni versione di PHP sia un po&#8217; pi\u00f9 veloce delle versioni precedenti. Con le modifiche al sistema CSPRNG e altre cose come la rimozione del vecchio libmysql, \u00e8 una scommessa sicura che questa versione sar\u00e0 pi\u00f9 veloce di PHP 8.1.<\/p>\n\n\n\n<p>Mentre stai testando, clonando e osservando i risultati, assicurati di dedicare del tempo a twittare un enorme GRAZIE a tutte le persone che hanno reso possibile questa versione. Fai sentire il tuo affetto su twitter.com\/@php_net<\/p>\n","protected":false},"excerpt":{"rendered":"Siamo lieti di annunciare che PHP 8.2 \u00e8 ora considerato stabile ed \u00e8 stato distribuito su tutti i server SiteGround. Ancora una volta, siamo tra le prime aziende ad averlo gi\u00e0 disponibile sulla nostra piattaforma di hosting. Leggi l'articolo qui sotto per saperne di pi\u00f9 sulle nuove funzionalit\u00e0 dell'ultima versione di PHP. \u00c8 arrivato il&hellip;","protected":false},"author":81,"featured_media":12851,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2574],"tags":[],"class_list":["post-12708","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sviluppo"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.2 (Yoast SEO v24.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PHP 8.2 Release Candidate disponibile sui server SiteGround<\/title>\n<meta name=\"description\" content=\"La Release Candidate di PHP 8.2 \u00e8 disponibile sui server SiteGround. Vediamo insieme tutte le nuove funzionalit\u00e0 di PHP 8.2 e cosa verr\u00e0 deprecato.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP 8.2 Release Candidate sui server SiteGround\" \/>\n<meta property=\"og:description\" content=\"La Release Candidate di PHP 8.2 \u00e8 disponibile sui server SiteGround. Vediamo insieme tutte le nuove funzionalit\u00e0 di PHP 8.2 e cosa verr\u00e0 deprecato.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/\" \/>\n<meta property=\"og:site_name\" content=\"SiteGround\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-08T10:07:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-26T12:01:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/newblog.siteground.com\/it\/wp-content\/uploads\/sites\/3\/2022\/09\/PHP_8.2_RC1_blog.png\" \/>\n<meta name=\"author\" content=\"Cal Evans\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"PHP 8.2 Release Candidate sui server SiteGround\" \/>\n<meta name=\"twitter:description\" content=\"La Release Candidate di PHP 8.2 \u00e8 disponibile sui server SiteGround. Vediamo insieme tutte le nuove funzionalit\u00e0 di PHP 8.2 e cosa verr\u00e0 deprecato.\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Cal Evans\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/\"},\"author\":{\"name\":\"Cal Evans\",\"@id\":\"https:\/\/newblog.siteground.com\/it\/#\/schema\/person\/b7d955fe8f207e8e13a00552dc043fff\"},\"headline\":\"PHP 8.2 disponibile sui server SiteGround\",\"datePublished\":\"2022-12-08T10:07:00+00:00\",\"dateModified\":\"2024-11-26T12:01:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/\"},\"wordCount\":1757,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/newblog.siteground.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/newblog.siteground.com\/it\/wp-content\/uploads\/sites\/3\/2022\/12\/PHP_8.2_Beta_blog_Stable-Release_1400x700.jpg\",\"articleSection\":[\"Sviluppo\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/\",\"url\":\"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/\",\"name\":\"PHP 8.2 Release Candidate disponibile sui server SiteGround\",\"isPartOf\":{\"@id\":\"https:\/\/newblog.siteground.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/newblog.siteground.com\/it\/wp-content\/uploads\/sites\/3\/2022\/12\/PHP_8.2_Beta_blog_Stable-Release_1400x700.jpg\",\"datePublished\":\"2022-12-08T10:07:00+00:00\",\"dateModified\":\"2024-11-26T12:01:51+00:00\",\"description\":\"La Release Candidate di PHP 8.2 \u00e8 disponibile sui server SiteGround. Vediamo insieme tutte le nuove funzionalit\u00e0 di PHP 8.2 e cosa verr\u00e0 deprecato.\",\"breadcrumb\":{\"@id\":\"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#primaryimage\",\"url\":\"https:\/\/newblog.siteground.com\/it\/wp-content\/uploads\/sites\/3\/2022\/12\/PHP_8.2_Beta_blog_Stable-Release_1400x700.jpg\",\"contentUrl\":\"https:\/\/newblog.siteground.com\/it\/wp-content\/uploads\/sites\/3\/2022\/12\/PHP_8.2_Beta_blog_Stable-Release_1400x700.jpg\",\"width\":1400,\"height\":700,\"caption\":\"PHP 8.2 SiteGround\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/newblog.siteground.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP 8.2 disponibile sui server SiteGround\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/newblog.siteground.com\/it\/#website\",\"url\":\"https:\/\/newblog.siteground.com\/it\/\",\"name\":\"Il blog di SiteGround\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/newblog.siteground.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/newblog.siteground.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/newblog.siteground.com\/it\/#organization\",\"name\":\"Il blog di SiteGround\",\"url\":\"https:\/\/newblog.siteground.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/newblog.siteground.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/newblog.siteground.com\/it\/wp-content\/uploads\/sites\/3\/2025\/01\/cropped-Siteground-Logo-on-white.jpg\",\"contentUrl\":\"https:\/\/newblog.siteground.com\/it\/wp-content\/uploads\/sites\/3\/2025\/01\/cropped-Siteground-Logo-on-white.jpg\",\"width\":164,\"height\":250,\"caption\":\"Il blog di SiteGround\"},\"image\":{\"@id\":\"https:\/\/newblog.siteground.com\/it\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/newblog.siteground.com\/it\/#\/schema\/person\/b7d955fe8f207e8e13a00552dc043fff\",\"name\":\"Cal Evans\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/newblog.siteground.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b8191d355780536d1c461f7e25b75129?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b8191d355780536d1c461f7e25b75129?s=96&d=mm&r=g\",\"caption\":\"Cal Evans\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/calevans\/\"],\"url\":\"https:\/\/newblog.siteground.com\/it\/author\/calevans\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PHP 8.2 Release Candidate disponibile sui server SiteGround","description":"La Release Candidate di PHP 8.2 \u00e8 disponibile sui server SiteGround. Vediamo insieme tutte le nuove funzionalit\u00e0 di PHP 8.2 e cosa verr\u00e0 deprecato.","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:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/","og_locale":"en_US","og_type":"article","og_title":"PHP 8.2 Release Candidate sui server SiteGround","og_description":"La Release Candidate di PHP 8.2 \u00e8 disponibile sui server SiteGround. Vediamo insieme tutte le nuove funzionalit\u00e0 di PHP 8.2 e cosa verr\u00e0 deprecato.","og_url":"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/","og_site_name":"SiteGround","article_published_time":"2022-12-08T10:07:00+00:00","article_modified_time":"2024-11-26T12:01:51+00:00","og_image":[{"url":"https:\/\/newblog.siteground.com\/it\/wp-content\/uploads\/sites\/3\/2022\/09\/PHP_8.2_RC1_blog.png","type":"","width":"","height":""}],"author":"Cal Evans","twitter_card":"summary_large_image","twitter_title":"PHP 8.2 Release Candidate sui server SiteGround","twitter_description":"La Release Candidate di PHP 8.2 \u00e8 disponibile sui server SiteGround. Vediamo insieme tutte le nuove funzionalit\u00e0 di PHP 8.2 e cosa verr\u00e0 deprecato.","twitter_misc":{"Written by":"Cal Evans","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#article","isPartOf":{"@id":"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/"},"author":{"name":"Cal Evans","@id":"https:\/\/newblog.siteground.com\/it\/#\/schema\/person\/b7d955fe8f207e8e13a00552dc043fff"},"headline":"PHP 8.2 disponibile sui server SiteGround","datePublished":"2022-12-08T10:07:00+00:00","dateModified":"2024-11-26T12:01:51+00:00","mainEntityOfPage":{"@id":"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/"},"wordCount":1757,"commentCount":0,"publisher":{"@id":"https:\/\/newblog.siteground.com\/it\/#organization"},"image":{"@id":"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#primaryimage"},"thumbnailUrl":"https:\/\/newblog.siteground.com\/it\/wp-content\/uploads\/sites\/3\/2022\/12\/PHP_8.2_Beta_blog_Stable-Release_1400x700.jpg","articleSection":["Sviluppo"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/","url":"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/","name":"PHP 8.2 Release Candidate disponibile sui server SiteGround","isPartOf":{"@id":"https:\/\/newblog.siteground.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#primaryimage"},"image":{"@id":"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#primaryimage"},"thumbnailUrl":"https:\/\/newblog.siteground.com\/it\/wp-content\/uploads\/sites\/3\/2022\/12\/PHP_8.2_Beta_blog_Stable-Release_1400x700.jpg","datePublished":"2022-12-08T10:07:00+00:00","dateModified":"2024-11-26T12:01:51+00:00","description":"La Release Candidate di PHP 8.2 \u00e8 disponibile sui server SiteGround. Vediamo insieme tutte le nuove funzionalit\u00e0 di PHP 8.2 e cosa verr\u00e0 deprecato.","breadcrumb":{"@id":"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#primaryimage","url":"https:\/\/newblog.siteground.com\/it\/wp-content\/uploads\/sites\/3\/2022\/12\/PHP_8.2_Beta_blog_Stable-Release_1400x700.jpg","contentUrl":"https:\/\/newblog.siteground.com\/it\/wp-content\/uploads\/sites\/3\/2022\/12\/PHP_8.2_Beta_blog_Stable-Release_1400x700.jpg","width":1400,"height":700,"caption":"PHP 8.2 SiteGround"},{"@type":"BreadcrumbList","@id":"https:\/\/newblog.siteground.com\/it\/php-8-2-release-candidate-sui-server-siteground\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/newblog.siteground.com\/it\/"},{"@type":"ListItem","position":2,"name":"PHP 8.2 disponibile sui server SiteGround"}]},{"@type":"WebSite","@id":"https:\/\/newblog.siteground.com\/it\/#website","url":"https:\/\/newblog.siteground.com\/it\/","name":"Il blog di SiteGround","description":"","publisher":{"@id":"https:\/\/newblog.siteground.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/newblog.siteground.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/newblog.siteground.com\/it\/#organization","name":"Il blog di SiteGround","url":"https:\/\/newblog.siteground.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/newblog.siteground.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/newblog.siteground.com\/it\/wp-content\/uploads\/sites\/3\/2025\/01\/cropped-Siteground-Logo-on-white.jpg","contentUrl":"https:\/\/newblog.siteground.com\/it\/wp-content\/uploads\/sites\/3\/2025\/01\/cropped-Siteground-Logo-on-white.jpg","width":164,"height":250,"caption":"Il blog di SiteGround"},"image":{"@id":"https:\/\/newblog.siteground.com\/it\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/newblog.siteground.com\/it\/#\/schema\/person\/b7d955fe8f207e8e13a00552dc043fff","name":"Cal Evans","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/newblog.siteground.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b8191d355780536d1c461f7e25b75129?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b8191d355780536d1c461f7e25b75129?s=96&d=mm&r=g","caption":"Cal Evans"},"sameAs":["https:\/\/www.linkedin.com\/in\/calevans\/"],"url":"https:\/\/newblog.siteground.com\/it\/author\/calevans\/"}]}},"_links":{"self":[{"href":"https:\/\/newblog.siteground.com\/it\/wp-json\/wp\/v2\/posts\/12708","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/newblog.siteground.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/newblog.siteground.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/newblog.siteground.com\/it\/wp-json\/wp\/v2\/users\/81"}],"replies":[{"embeddable":true,"href":"https:\/\/newblog.siteground.com\/it\/wp-json\/wp\/v2\/comments?post=12708"}],"version-history":[{"count":6,"href":"https:\/\/newblog.siteground.com\/it\/wp-json\/wp\/v2\/posts\/12708\/revisions"}],"predecessor-version":[{"id":14153,"href":"https:\/\/newblog.siteground.com\/it\/wp-json\/wp\/v2\/posts\/12708\/revisions\/14153"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/newblog.siteground.com\/it\/wp-json\/wp\/v2\/media\/12851"}],"wp:attachment":[{"href":"https:\/\/newblog.siteground.com\/it\/wp-json\/wp\/v2\/media?parent=12708"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/newblog.siteground.com\/it\/wp-json\/wp\/v2\/categories?post=12708"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/newblog.siteground.com\/it\/wp-json\/wp\/v2\/tags?post=12708"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}