{"id":60714,"date":"2022-10-13T07:54:23","date_gmt":"2022-10-13T06:54:23","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=60714&#038;preview=true&#038;preview_id=60714"},"modified":"2024-09-17T13:51:58","modified_gmt":"2024-09-17T12:51:58","slug":"xdebug","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/xdebug\/","title":{"rendered":"Come Pu\u00f2 Xdebug Aiutarti a Diventare Un Migliore Sviluppatore WordPress"},"content":{"rendered":"<p>Come ogni developer pu\u00f2 testimoniare, il codice non \u00e8 mai pronto per la produzione dopo la prima bozza. Una parte fondamentale del processo di sviluppo \u00e8 il debug, ovvero la rimozione o la modifica di tutte le parti del codice che non funzionano.<\/p>\n<p>L&#8217;estensione Xdebug per PHP \u00e8 un modo molto diffuso per scovare e distruggere tutti i bug del vostro codice.<\/p>\n<p>Uno degli aspetti pi\u00f9 interessanti di Xdebug \u00e8 la sua flessibilit\u00e0. Indipendentemente dal framework o dall&#8217;ambiente di sviluppo che preferite, potrete trovare una versione di Xdebug adatta al vostro flusso di lavoro. Da l\u00ec a prendere confidenza con lo strumento non ci vorr\u00e0 molto.<\/p>\n<p>In questo tutorial vedremo Xdebug in modo approfondito, compreso il processo di installazione, l&#8217;integrazione nella vostra configurazione e l&#8217;utilizzo generale.<\/p>\n<p>Per prima cosa, vediamo di capire meglio cos&#8217;\u00e8 e cosa fa Xdebug.<br \/>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc><\/p>\n<h2>Presentazione di Xdebug<\/h2>\n<p><a href=\"https:\/\/xdebug.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Xdebug<\/a> \u00e8 una delle estensioni pi\u00f9 popolari per il debug del codice PHP. Si installa dall&#8217;ambiente che avete scelto e agisce come un &#8220;debugger a passi&#8221;.<\/p>\n<figure id=\"attachment_133040\" aria-describedby=\"caption-attachment-133040\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133040\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/xdebug.png\" alt=\"Uno sfondo verde a strati che mostra il logo Xdebug, completo di una 'X' verde\" width=\"1000\" height=\"187\"><figcaption id=\"caption-attachment-133040\" class=\"wp-caption-text\">Il logo di Xdebug.<\/figcaption><\/figure>\n<p>In breve, questo vi permette di lavorare sul vostro codice riga per riga, in modo da poter esaminare il modo in cui il codice agisce e interagisce all&#8217;interno del programma, oltre a studiare il suo output. Da l\u00ec potrete apportare le modifiche che ritenete opportune.<\/p>\n<p>Xdebug pu\u00f2 fare molto di pi\u00f9, per\u00f2:<\/p>\n<ul>\n<li>Potete analizzare le <a href=\"https:\/\/kinsta.com\/it\/blog\/monitoraggio-prestazioni-applicazioni\/\" target=\"_blank\" rel=\"noopener noreferrer\">prestazioni del vostro codice<\/a> usando una serie di metriche e visualizzazioni.<\/li>\n<li>Quando eseguite i test unitari di PHP, potete vedere quali suite di codice vengono eseguite.<\/li>\n<li>Xdebug include funzionalit\u00e0 di &#8220;tracing&#8221; che scrivono su disco ogni chiamata di funzione. Questo include argomenti, assegnazioni di variabili e valori di ritorno.<\/li>\n<li>Xdebug apporta anche dei miglioramenti alla segnalazione degli errori standard di PHP. Ne parleremo pi\u00f9 avanti.<\/li>\n<\/ul>\n<p>Date le sue caratteristiche, ci sono molti modi per usare Xdebug (e qualsiasi altro debugger simile) all&#8217;interno del vostro flusso di lavoro. Li illustreremo nella prossima sezione.<\/p>\n\n<h2>Perch\u00e9 Usare Xdebug<\/h2>\n<p>Molti developer non hanno un flusso di lavoro dedicato al debug che utilizza strumenti ed estensioni di terze parti. Questo perch\u00e9 PHP include un proprio rudimentale sistema di registrazione degli errori. Userete comandi come <code>error_log<\/code>, <code>var_dump<\/code> e print per vedere i risultati delle variabili e delle chiamate di funzione.<\/p>\n<p>Per esempio, ci sono molti snippet che potete riutilizzare per lo sviluppo di WordPress: <a href=\"https:\/\/stackoverflow.com\/questions\/15085482\/wordpress-debugging\">Stack Overflow ne \u00e8 pieno<\/a>:<\/p>\n<pre><code class=\"language-php\">function log_me($message) {\n  if ( WP_DEBUG === true ) {\n      if ( is_array($message) || is_object($message) ) {\n          error_log( print_r($message, true) );\n      } else {\n           error_log( $message );\n      }\n  }\n}<\/code><\/pre>\n<p>Tuttavia, questo approccio presenta alcuni importanti svantaggi:<\/p>\n<ul>\n<li>Per prima cosa dovete assicurarvi di aver abilitato i log degli errori per la piattaforma con cui state lavorando. In questo caso, dovrete abilitare <code>WP_DEBUG<\/code> (ne parleremo pi\u00f9 avanti).<\/li>\n<li>Questo esempio di debug &#8220;dump&#8221; offre meno possibilit\u00e0 di indagine rispetto al debug a passi. In questo caso, potete produrre solo ci\u00f2 che definite.<\/li>\n<\/ul>\n<p>L&#8217;ultimo punto richiede un grande sforzo manuale, soprattutto se il vostro lavoro quotidiano non \u00e8 quello di <a href=\"https:\/\/kinsta.com\/it\/blog\/sysadmin\/\" target=\"_blank\" rel=\"noopener noreferrer\">sysadmin<\/a>. Per esempio, se volete eseguire il debug di un blocco di codice, potreste aggiungere il vostro snippet in base a una variabile che definite. Tuttavia, potrebbe non essere la fonte del problema e nemmeno indicare cosa sta succedendo.<\/p>\n<p>Invece, uno strumento come Xdebug pu\u00f2 fare la sua magia per fornire una portata maggiore:<\/p>\n<ul>\n<li>Potete &#8220;rompere&#8221; il vostro codice in vari punti durante l&#8217;esecuzione per vedere cosa succede in tempo reale.<\/li>\n<li>Ci sono una miriade di metriche, visualizzazioni, rami e altro ancora che vi aiutano a capire cosa sta facendo il vostro codice e come risponde.<\/li>\n<li>A volte potete anche modificare i valori al volo durante il processo di debug. Questo offre un valore immenso, anche per le suite di codice che funzionano bene. In sostanza, potete eseguire test unitari manuali in qualsiasi momento.<\/li>\n<li>Poich\u00e9 si usano i breakpoint per contrassegnare le aree da sottoporre a debug, non avrete bisogno di lavorare con gli snippet all&#8217;interno del codice. Questo mantiene il codice pi\u00f9 pulito e riduce il numero di problemi futuri.<\/li>\n<\/ul>\n<p>In generale, l&#8217;utilizzo di uno strumento come Xdebug \u00e8 una decisione proattiva piuttosto che responsive. Potete utilizzare il debug a tappe come parte integrante del processo di sviluppo, proprio come l&#8217;implementazione dei test unitari come parte dello sviluppo guidato dai test (TDD).<\/p>\n<h2>Come Attivare la Registrazione degli Errori in PHP<\/h2>\n<p>Anche se potete eseguire il debug del vostro codice senza un errore specifico, spesso \u00e8 utile sapere se un problema si verifica senza avere Xdebug aperto. Questo vi d\u00e0 un <a href=\"https:\/\/kinsta.com\/it\/blog\/debug-prestazioni-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">punto di partenza per l&#8217;esplorazione<\/a>. Non \u00e8 strettamente necessario, ma pu\u00f2 essere una parte utile della vostra catena.<\/p>\n<p>Per segnalare ogni errore che si verifica, dovrete aggiungere una riga all&#8217;inizio del file PHP corrispondente:<\/p>\n<pre><code class=\"language-bash\">error_reporting(E_ALL);<\/code><\/pre>\n<p>Si tratta di un comando di tipo catch-all e potete ottenere lo stesso risultato utilizzando la funzione <code><a href=\"https:\/\/www.php.net\/manual\/en\/function.ini-set.php\">ini_set<\/a><\/code>:<\/p>\n<pre><code class=\"language-bash\">ini_set('error_reporting', E_ALL);<\/code><\/pre>\n<p>Questo vi permette di modificare le impostazioni all&#8217;interno del vostro file <strong>php.ini<\/strong>, progetto per progetto. Sebbene possiate entrare in questo file e fare una modifica manuale, spesso \u00e8 meglio lavorare con <code>ini_set<\/code> per modificare un parametro specifico:<\/p>\n<pre><code class=\"language-bash\">ini_set('display_errors', '1');<\/code><\/pre>\n<p>Una volta impostata la segnalazione degli errori attivi secondo i vostri gusti, potete iniziare a lavorare con Xdebug.<\/p>\n<h2>Come Usare Xdebug<\/h2>\n<p>Nelle prossime sezioni vi mostreremo come usare Xdebug, compresi i passaggi necessari per configurarlo. Anche se non possiamo occuparci di tutti gli aspetti dello strumento, questa guida rapida vi permetter\u00e0 di iniziare subito a lavorare.<\/p>\n<p>Per prima cosa, per\u00f2, dovete installare Xdebug. Scopriamo come fare.<\/p>\n<h3>1. Installare Xdebug per il Vostro Sistema Operativo (OS)<\/h3>\n<p>Poich\u00e9 Xdebug \u00e8 adattabile a qualsiasi tipo di configurazione, il <a href=\"https:\/\/xdebug.org\/docs\/install\">processo esatto<\/a> per ciascuno di essi sar\u00e0 leggermente diverso. A livello di sistema operativo, ci sono alcune differenze:<\/p>\n<ul>\n<li><strong>Windows:<\/strong> Si tratta di un processo di installazione un po&#8217; complicato che prevede l&#8217;utilizzo di un file PHP esistente e di una <a href=\"https:\/\/xdebug.org\/wizard\">procedura guidata di installazione<\/a>, per poi scaricare la versione adatta al vostro sistema.<\/li>\n<li><strong>Linux:<\/strong> Il metodo \u00e8 probabilmente il pi\u00f9 semplice: Potete utilizzare un <a href=\"https:\/\/xdebug.org\/docs\/install#linux\">gestore di pacchetti<\/a> per installare Xdebug o la <a href=\"https:\/\/xdebug.org\/docs\/install#pecl\">PHP Extension Community Library (PECL)<\/a>.<\/li>\n<li><strong>Mac:<\/strong> Anche questo metodo \u00e8 semplice: Una volta installato PECL, potete eseguire <code>pecl install xdebug<\/code> da un&#8217;istanza del Terminale. Dovrete inoltre avere gli strumenti da riga di comando XCode e PHP installati sul vostro sistema.<\/li>\n<\/ul>\n<p>Tuttavia, la maggior parte degli utenti non vorr\u00e0 attenersi a un&#8217;istanza di Xdebug a livello di sistema. Al contrario, vi conviene integrarlo nel vostro ambiente di sviluppo.<\/p>\n<h3>2. Integrare Xdebug nel Vostro Ambiente di Sviluppo<\/h3>\n<p>Una volta installato Xdebug per il vostro sistema operativo, dovete collegarlo al vostro ambiente.<\/p>\n<p>I sistemi e gli strumenti supportati sono talmente tanti che non \u00e8 possibile esaminarli tutti. Pi\u00f9 avanti vi forniremo le istruzioni per <a href=\"https:\/\/kinsta.com\/it\/devkinsta\/\" target=\"_blank\" rel=\"noopener noreferrer\">DevKinsta<\/a> e <a href=\"https:\/\/www.jetbrains.com\/phpstorm\/\" target=\"_blank\" rel=\"noopener noreferrer\">PhpStorm<\/a>. Tuttavia, ci sono molti altri ambienti popolari tra cui scegliere. Di seguito vi elenchiamo alcuni dei nostri migliori consigli.<\/p>\n<h4>Varying Vagrant Vagrants (VVV)<\/h4>\n<p><a href=\"https:\/\/varyingvagrantvagrants.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">VVV<\/a> \u00e8 uno degli ambienti nominati sul <a href=\"https:\/\/make.wordpress.org\/core\/handbook\/tutorials\/installing-a-local-server\/installing-vvv\/\" target=\"_blank\" rel=\"noopener noreferrer\">sito web di Make WordPress<\/a>:<\/p>\n<figure id=\"attachment_133039\" aria-describedby=\"caption-attachment-133039\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133039\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/vvv-logo.png\" alt=\"Uno sfondo blu contenente l'arte ASCII a 8 bit del logo Varying Vagrant Vagrants.\" width=\"1000\" height=\"349\"><figcaption id=\"caption-attachment-133039\" class=\"wp-caption-text\">Il logo Varying Vagrant Vagrants.<\/figcaption><\/figure>\n<p>La buona notizia \u00e8 che VVVV include gi\u00e0 una <a href=\"https:\/\/varyingvagrantvagrants.org\/docs\/en-US\/references\/xdebug\/\" target=\"_blank\" rel=\"noopener noreferrer\">versione di Xdebug<\/a>, ma dovete attivarla. Potete farlo usando Secure Shell (SSH) all&#8217;interno di una finestra del Terminale:<\/p>\n<pre><code class=\"language-bash\">vagrant ssh -c \"switch_php_debugmod xdebug\"<\/code><\/pre>\n<p>Tuttavia, le prestazioni ne risentono un po&#8217; e dovrete riattivare questa opzione se fate il provisioning dei vostri siti.<\/p>\n<h4>Laravel Valet<\/h4>\n<p>Per alcuni utenti, <a href=\"https:\/\/laravel.com\/docs\/9.x\/valet\">Laravel Valet<\/a> rappresenta un ambiente di sviluppo web quasi perfetto. Ancora meglio, potete integrare Xdebug con esso.<\/p>\n<p>Per farlo, dovrete creare un file di configurazione per il debugger. Potete trovare il vostro percorso utilizzando <code>php --ini<\/code> alla riga di comando, che vi restituir\u00e0 diversi percorsi di file:<\/p>\n<figure id=\"attachment_133036\" aria-describedby=\"caption-attachment-133036\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133036\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/terminal-php-ini.png\" alt=\"Una finestra del Terminal che mostra un elenco di percorsi dei file di configurazione PHP .ini e un cursore del prompt dei comandi vuoto.\" width=\"1000\" height=\"444\"><figcaption id=\"caption-attachment-133036\" class=\"wp-caption-text\">Il Terminal mostra un elenco dei percorsi dei file di configurazione.<\/figcaption><\/figure>\n<p>Successivamente, create un nuovo file <strong>xdebug.ini<\/strong> nel percorso dei file <strong>.ini<\/strong> aggiuntivi. Nel nostro esempio, si trova in <strong>\/opt\/homebrew\/etc\/php\/7.4\/conf.d<\/strong>.<\/p>\n<p>Una volta aperto questo nuovo file, aprite anche il percorso del file di configurazione caricato (il vostro file <strong>php.ini<\/strong> principale). Con entrambi aperti, aggiungete il seguente testo in fondo:<\/p>\n<ul>\n<li><strong>php.ini:<\/strong> <code>zend_extension=\"xdebug.so\"<\/code><\/li>\n<li><strong>xdebug.ini:<\/strong> <code>xdebug.mode=debug<\/code><\/li>\n<\/ul>\n<p>Una volta salvate le modifiche, eseguite <code>valet restart<\/code> dal Terminal, quindi aggiungete <code>phpinfo(); exit;<\/code> a uno dei file del vostro sito. Dovrete verificare se questo funziona attraverso un rapido caricamento della pagina nel browser.<\/p>\n<figure id=\"attachment_133031\" aria-describedby=\"caption-attachment-133031\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133031\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/php-info-page.png\" alt=\"Un file di informazioni PHP all'interno del browser, che mostra il logo di Xdebug e il nome del programma.\" width=\"1000\" height=\"498\"><figcaption id=\"caption-attachment-133031\" class=\"wp-caption-text\">La schermata informativa di PHP.<\/figcaption><\/figure>\n<p>Tenete presente che potrebbe essere necessario riavviare PHP usando <code>sudo brew services restart php<\/code> e verificare che l&#8217;installazione di Xdebug nel sistema sia corretta utilizzando <code>php --info | grep xdebug<\/code>. Noterete le linee specifiche di Xdebug all&#8217;interno dell&#8217;output:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133027\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/grep-xdebug-mode.png\" alt=\"Una finestra di Terminal che mostra una serie di diverse impostazioni di configurazione di Xdebug (come i nomi di output e le variabili di visualizzazione). \" width=\"1000\" height=\"498\"><\/p>\n<p>Da qui potete cercare di incorporare Xdebug nel vostro editor di codice preferito.<\/p>\n<h4>XAMPP<\/h4>\n<p>Come per Valet, anche per <a href=\"https:\/\/www.apachefriends.org\/download.html\">XAMPP<\/a> ci sono alcune parti del processo. Tuttavia, le versioni per Windows e macOS hanno due processi diversi.<\/p>\n<p>Iniziate installando XAMPP, poi eseguite un rapido controllo per verificare se il file <strong>php_xdebug.dll<\/strong> (Windows) o <strong>xdebug.so<\/strong> (macOS) esiste sul vostro sistema:<\/p>\n<figure id=\"attachment_133038\" aria-describedby=\"caption-attachment-133038\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133038\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/test-xampp-file-terminal.png\" alt=\"A Finestra del terminale che mostra uno snippet per verificare se esiste un while. Se esiste, il Terminale mostrer\u00e0 \" width=\"1000\" height=\"353\"><figcaption id=\"caption-attachment-133038\" class=\"wp-caption-text\">Una finestra del Terminale che mostra il test di un file XAMPP.<\/figcaption><\/figure>\n<p>Se il file esiste, potete passare alla configurazione. In caso contrario, dovrete prima <a href=\"https:\/\/xdebug.org\/download\">scaricare il binario giusto<\/a> per Windows &#8211; un file a 64 bit per la versione di PHP che preferisci &#8211; oppure installare qualche altra dipendenza se usate un Mac.<\/p>\n<p>Per Windows, rinominate il file DLL <strong>php_xdebug.dll<\/strong> e spostatelo nel percorso del file <strong>xamppphpext<\/strong>. Quindi, aprite il file <strong>xamppphpphp.ini<\/strong> nel vostro <a href=\"https:\/\/kinsta.com\/it\/blog\/migliori-editor-di-testo\/\" target=\"_blank\" rel=\"noopener noreferrer\">editor di codice preferito<\/a> e aggiungete quanto segue:<\/p>\n<pre><code class=\"language-bash\">output_buffering = Off<\/code><\/pre>\n<p>Nella sezione <code>[XDebug]<\/code>, aggiungete le tre righe seguenti:<\/p>\n<pre><code class=\"language-bash\">zend_extension=xdebug\nxdebug.mode=debug\nxdebug.start_with_request=trigger<\/code><\/pre>\n<p>Una volta salvate le modifiche, riavviate Apache e verificate la presenza di Xdebug.<\/p>\n<p><a href=\"https:\/\/stevegeorge.net\/2022\/02\/11\/installing-xdebug-for-xampp-on-mac\/\" target=\"_blank\" rel=\"noopener noreferrer\">Per Mac<\/a>, dovete assicurarvi di installare gli strumenti da linea di comando di <a href=\"https:\/\/developer.apple.com\/xcode\/\" target=\"_blank\" rel=\"noopener noreferrer\">Xcode<\/a> usando <code class=\"language-bash\">xcode-select --install<\/code> in un&#8217;istanza del Terminale. Successivamente, dovrete installare tre pacchetti utilizzando Homebrew:<\/p>\n<pre><code class=\"language-bash\">brew install autoconf automake libtool<\/code><\/pre>\n<p>In alcuni casi, dovrete anche reinstallare XAMPP per ottenere sia il programma principale che i &#8220;File per developer&#8221;. Dovreste essere in grado di reinstallare solo questi file, ma prima dovrete eseguire un backup della configurazione esistente.<\/p>\n<p>Successivamente, andate al download della cartella sorgente di Xdebug sul vostro sistema e decomprimete il file TGZ. All&#8217;interno di una finestra del Terminal, navigate in questa cartella ed eseguite il seguente comando:<\/p>\n<pre><code class=\"language-bash\">phpize\npecl install xdebug<\/code><\/pre>\n<p>Notate che potrebbe essere necessario usare <code>sudo<\/code> anche in questo caso. Da qui potrete modificare il file php.ini di XAMPP. Per la maggior parte delle installazioni macOS, lo troverete in <strong>\/Applications\/XAMPP\/xamppfiles\/etc\/php.ini<\/strong>. All&#8217;interno di questa directory troverete anche il percorso del vostro file <strong>xdebug.so<\/strong>: annotatelo e usatelo al posto del percorso del file per questo frammento:<\/p>\n<pre><code class=\"language-bash\">[xdebug]\nzend_extension=\/path\/to\/xdebug.so\nxdebug.mode=develop,degug\nxdebug.start_with_request=yes<\/code><\/pre>\n<p>Per verificare se funziona, create un nuovo file <strong>xdebug_info.php<\/strong> all&#8217;interno della cartella principale <strong>htdocs<\/strong> di XAMPP. All&#8217;interno, aggiungete quanto segue:<\/p>\n<pre><code class=\"language-bash\">&lt;?php\nxdebug_info();<\/code><\/pre>\n<p>&#8230; poi aggiornate Apache e provate Xdebug nel browser.<\/p>\n<h2>Usare PhpStorm con Xdebug<\/h2>\n<p>Una volta installato Xdebug attraverso il sistema operativo e l&#8217;ambiente di sviluppo, dovrete visualizzare il debugger stesso. Potrete farlo attraverso l&#8217;editor di codice o l&#8217;<a href=\"https:\/\/kinsta.com\/it\/blog\/editor-php\/\" target=\"_blank\" rel=\"noopener noreferrer\">ambiente di sviluppo integrato (IDE)<\/a> che avete scelto. Come per l&#8217;ambiente, ce ne sono molti tra cui scegliere e ognuno di essi pu\u00f2 avere un approccio diverso.<\/p>\n<p>Detto questo, molti developer scelgono di usare <a href=\"https:\/\/www.jetbrains.com\/phpstorm\/\" target=\"_blank\" rel=\"noopener noreferrer\">PhpStorm di JetBrains<\/a>. Infatti, PhpStorm offre <a href=\"https:\/\/www.jetbrains.com\/help\/phpstorm\/preparing-to-use-wordpress.html\">&#8220;assistenza consapevole di WordPress&#8221;<\/a> ed \u00e8 una scelta popolare anche per molte altre ragioni.<\/p>\n<figure id=\"attachment_133032\" aria-describedby=\"caption-attachment-133032\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133032\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/php-storm.png\" alt=\"L'interfaccia di PhpStorm, con una directory ad albero per il progetto sulla sinistra che usa testo bianco, blu e giallo. Il lato destro contiene il codice PHP per un plugin di WordPress, con testo arancione, viola, verde e bianco.\" width=\"1000\" height=\"625\"><figcaption id=\"caption-attachment-133032\" class=\"wp-caption-text\">L&#8217;interfaccia di PhpStorm.<\/figcaption><\/figure>\n<p>Il <a href=\"https:\/\/www.jetbrains.com\/help\/phpstorm\/configuring-xdebug.html\">sito web di JetBrains<\/a> contiene le istruzioni complete per collegare Xdebug e PhpStorm, ma le esamineremo qui.<\/p>\n<p>Per prima cosa, andate alla pagina <strong>Languages &#038; Frameworks &gt; PHP<\/strong> all&#8217;interno del pannello <strong>Preferences<\/strong>. Qui, aprite il menu <strong>More Items<\/strong> accanto al campo a tendina <strong>CLI Interpreter<\/strong>:<\/p>\n<figure id=\"attachment_133021\" aria-describedby=\"caption-attachment-133021\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133021\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/cli-interpreter.png\" alt=\"Schermata parziale delle preferenze di PhpStorm, che mostra il link alla pagina\" width=\"1000\" height=\"330\"><figcaption id=\"caption-attachment-133021\" class=\"wp-caption-text\">Selezionare un interprete CLI in PhpStorm.<\/figcaption><\/figure>\n<p>In questo modo verranno mostrati ulteriori dettagli sulla versione di PHP e sull&#8217;interprete. Se fate clic sul pulsante <strong>More items<\/strong> accanto all&#8217;opzione <strong>Configuration file<\/strong>, vedrete il percorso completo del vostro file <strong>php.ini<\/strong>:<\/p>\n<figure id=\"attachment_133022\" aria-describedby=\"caption-attachment-133022\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133022\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/configuration-file.png\" alt=\"Schermata parziale di PhpStorm More Items, che mostra il nome della configurazione, il percorso del file eseguibile PHP, il numero di versione corrente di PHP e del debugger e un elenco di file di configurazione per vari aspetti dell'installazione PHP.\" width=\"1000\" height=\"271\"><figcaption id=\"caption-attachment-133022\" class=\"wp-caption-text\">Modifica della configurazione PHP all&#8217;interno di PhpStorm.<\/figcaption><\/figure>\n<p>Lavorerete su questo file PHP per continuare il processo di configurazione.<\/p>\n<h4>Lavorare nel File php.ini<\/h4>\n<p>Il primo compito da svolgere \u00e8 quello di modificare tutte le righe che influiscono sul funzionamento di Xdebug con PhpStorm.<\/p>\n<p>All&#8217;interno del file <strong>php.ini<\/strong>, cercate le seguenti righe e rimuovetele o commentatele:<\/p>\n<pre><code class=\"language-bash\">zend_extension=&lt;path_to_zend_debugger&gt;\nzend_extension=&lt;path_to_zend_optimizer&gt;<\/code><\/pre>\n<p>Queste linee non saranno presenti in tutti i casi, quindi non allarmatevi se non le vedete.<\/p>\n<p>Successivamente, aggiungete al file quanto segue:<\/p>\n<pre><code class=\"language-bash\">[xdebug]\nzend_extension=\"xdebug.so\"\nxdebug.mode=debug\nxdebug.client_host=127.0.0.1\nxdebug.client_port=\"&lt;the port (9003 by default) to which Xdebug connects&gt;\"<\/code><\/pre>\n<p>Ci sono alcune cose da notare su questa suite di codice:<\/p>\n<ul>\n<li>\u00c8 possibile che abbiate gi\u00e0 una sezione <code>[xdebug]<\/code>, nel qual caso potete omettere la prima denominazione.<\/li>\n<li>La voce <code>zend_extension<\/code> potrebbe richiedere l&#8217;aggiunta del percorso completo di <strong>xdebug.so<\/strong> per la connessione.<\/li>\n<li>Anche se pu\u00f2 sembrare un segnaposto, il parametro <code>xdebug.client_port<\/code> \u00e8 il modo in cui lo imposterete nel vostro codice.<\/li>\n<\/ul>\n<p>Una volta aggiunti questi elementi, salvate e chiudete l file, quindi verificate la versione di PHP dalla linea di comando (utilizzando <code>php --version<\/code>):<\/p>\n<figure id=\"attachment_133037\" aria-describedby=\"caption-attachment-133037\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133037\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/terminal-xdebug-php-version.png\" alt=\"Sfondo del desktop con sfumature blu, rosse e viola di Big Sur, che mostra una finestra del terminale di macOS. Mostra il comando \"php -version\", insieme al numero di versione di PHP, a una nota di copyright e alle versioni installate (complete di numeri di versione) di Zend Engine, Xdebug e Zend OPcache.\" width=\"1000\" height=\"416\"><figcaption id=\"caption-attachment-133037\" class=\"wp-caption-text\">Test per le installazioni attuali di PHP e Xdebug utilizzando il terminale di macOS.<\/figcaption><\/figure>\n<p>Se avete una versione funzionante di Xdebug, verr\u00e0 visualizzata come una delle estensioni PHP. Potete anche aggiungere <code>phpinfo();<\/code> a un nuovo file e testarlo nel browser.<\/p>\n<p>Questo \u00e8 tutto ci\u00f2 che dovete fare per far funzionare Xdebug come debugger predefinito con PhpStorm. L&#8217;ultimo passo prima di utilizzarlo \u00e8 l&#8217;installazione di un&#8217;estensione di aiuto al browser.<\/p>\n<h4>Installare un&#8217;Estensione Browser Helper<\/h4>\n<p>L&#8217;ultima connessione chiave che dovrete stabilire \u00e8 quella tra il vostro browser e PhpStorm, ottenuta attivando il debug a passi sul server. Sebbene possiate farlo <a href=\"https:\/\/xdebug.org\/docs\/step_debug#starting\">dalla linea di comando<\/a> utilizzando i valori speciali <code>GET<\/code> o <code>POST<\/code>, \u00e8 pi\u00f9 semplice utilizzare un&#8217;estensione.<\/p>\n<p>Vi consigliamo di utilizzare l&#8217;estensione dedicata Xdebug Helper. Potete installarla sul vostro browser preferito:<\/p>\n<ul>\n<li><a href=\"https:\/\/chrome.google.com\/webstore\/detail\/xdebug-helper\/eadndfjplgieldjbigjakmdgkmoaaaoc\">Aiuto Xdebug per Chrome\/Chromium\/Brave<\/a><\/li>\n<li><a href=\"https:\/\/addons.mozilla.org\/en-GB\/firefox\/addon\/xdebug-helper-for-firefox\/\" target=\"_blank\" rel=\"noopener noreferrer\">Xdebug Helper per Firefox<\/a><\/li>\n<\/ul>\n<p>Se volete esplorare altre estensioni, il <a href=\"https:\/\/www.jetbrains.com\/help\/phpstorm\/browser-debugging-extensions.html\">sito web di JetBrains<\/a> offre alcune opzioni aggiuntive per i browser pi\u00f9 diffusi.<\/p>\n<p>Una volta installata l&#8217;estensione del browser che avete scelto, non dovreste dover modificare altre impostazioni di configurazione. Da qui, potete iniziare a usare Xdebug con PhpStorm.<\/p>\n<h3>Usare Xdebug<\/h3>\n<p>Anche se in questo caso useremo PhpStorm, vedrete un layout e un&#8217;interfaccia simili tra i diversi IDE, anche se ci saranno alcune differenze evidenti.<\/p>\n<p>Ci sono alcuni concetti che si combinano per formare l&#8217;intera esperienza di debug:<\/p>\n<ul>\n<li><strong>Breakpoints:<\/strong> Questi sono i punti in cui Xdebug si ferma per permettervi di ispezionare l&#8217;output. Potete impostarne quanti ne volete.<\/li>\n<li><strong>Listening for connections:<\/strong> Potete attivare o disattivare questa funzione, anche se la maggior parte degli sviluppatori la lascer\u00e0 sempre attiva.<\/li>\n<li><strong>The debugging screen:<\/strong> La maggior parte del tempo verr\u00e0 trascorsa all&#8217;interno dell&#8217;interfaccia di debug: \u00e8 qui che lavorerete con le varie linee di codice, le variabili e i parametri.<\/li>\n<\/ul>\n<p>Il primo passo \u00e8 attivare l&#8217;ascolto (listening): senza di esso non potrete eseguire il debug. Per farlo, fate clic sull&#8217;opzione <strong>Run &gt; Start Listening for PHP Debug Connections<\/strong> nella barra degli strumenti:<\/p>\n<figure id=\"attachment_133034\" aria-describedby=\"caption-attachment-133034\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133034\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/phpstorm-run-menu.png\" alt=\"Una schermata parziale dell'interfaccia di PhpStorm, che mostra una directory ad albero sulla sinistra e la barra degli strumenti dell'applicazione. Il menu Esegui \u00e8 aperto ed \u00e8 evidenziata l\u2019opzione Start Listening for PHP Debug Connections\" width=\"1000\" height=\"479\"><figcaption id=\"caption-attachment-133034\" class=\"wp-caption-text\">Il menu Run aperto in PhpStorm.<\/figcaption><\/figure>\n<p>In alternativa, potete fare clic sull&#8217;icona &#8220;telefono&#8221; nella barra degli strumenti di PhpStorm:<\/p>\n<figure id=\"attachment_133033\" aria-describedby=\"caption-attachment-133033\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133033\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/phpstorm-bug-toolbar.png\" alt=\"Un primo piano della barra degli strumenti di PhpStorm, che mostra le opzioni per la configurazione dell'esecuzione corrente, varie opzioni Git e l'icona del telefono Start Listening for PHP Debug Connections (completa di tooltip).\" width=\"1000\" height=\"322\"><figcaption id=\"caption-attachment-133033\" class=\"wp-caption-text\">L\u2019opzione Listening for connections di debug PHP identificato dall&#8217;icona del telefono nella barra degli strumenti di PhpStorm.<\/figcaption><\/figure>\n<p>Entrambe le opzioni avviano l&#8217;ascolto delle connessioni.<\/p>\n<p>Da qui, potete iniziare a impostare i punti di interruzione all&#8217;interno dell&#8217;editor di codice. Un punto rosso indica un punto di interruzione su cui potete fare clic per attivarlo:<\/p>\n<figure id=\"attachment_133020\" aria-describedby=\"caption-attachment-133020\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133020\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/add-breakpoints.png\" alt=\"Un primo piano dell'interfaccia di PhpStorm, che mostra una directory ad albero sulla sinistra e il pannello di codifica sulla destra. All'interno dell'editor, alle righe 45, 50 e 55 sono presenti dei punti rossi con spunte bianche. Si tratta di punti di interruzione per il debug.\" width=\"1000\" height=\"661\"><figcaption id=\"caption-attachment-133020\" class=\"wp-caption-text\">Punti di interruzione all&#8217;interno dell&#8217;interfaccia di una pagina di modifica di PhpStorm.<\/figcaption><\/figure>\n<p>Quando volete eseguire il debug del codice, il modo pi\u00f9 semplice \u00e8 quello di iniziare l&#8217;ascolto, impostare i punti di interruzione e poi andare alla pagina specifica nel vostro browser. Individuate l&#8217;icona della vostra estensione all&#8217;interno del browser, poi fateci clic sopra e selezionate l&#8217;opzione &#8220;Debug&#8221;:<\/p>\n<figure id=\"attachment_133035\" aria-describedby=\"caption-attachment-133035\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133035\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/select-debug-browser.png\" alt=\"Il browser Mozilla Firefox con lo sfondo verde chiaro e, nel menu dell\u2019estensione dedicata, l\u2019opzione debug evidenziata in azzurro \" width=\"1000\" height=\"317\"><figcaption id=\"caption-attachment-133035\" class=\"wp-caption-text\">Selezione dell&#8217;opzione Debug nella barra degli strumenti del browser utilizzando un&#8217;estensione dedicata.<\/figcaption><\/figure>\n<p>In questo modo si aprir\u00e0 il debugger di PhpStorm e si riceveranno le buone o le cattive notizie:<\/p>\n<figure id=\"attachment_133024\" aria-describedby=\"caption-attachment-133024\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133024\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/debugger-output.png\" alt=\"Una schermata parziale di PhpStorm, che mostra un pannello di debugger aperto. A sinistra sono mostrati vari punti di interruzione, completi di nomi di file, numeri di riga e riferimenti a funzioni. A destra sono mostrati i valori delle variabili presenti nel codice, insieme ai tipi di valore.\" width=\"1000\" height=\"509\"><figcaption id=\"caption-attachment-133024\" class=\"wp-caption-text\">Utilizzando il debugger di PhpStorm con Xdebug.<\/figcaption><\/figure>\n<p>Se fate clic con il tasto destro del mouse sui vari valori, attributi, parametri e variabili, potrete accedere a un ulteriore menu contestuale. In questo modo avrete a disposizione un ampio margine di manovra per testare ed eseguire il debug del vostro codice:<\/p>\n<figure id=\"attachment_133023\" aria-describedby=\"caption-attachment-133023\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133023\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/context-menu-debugger.png\" alt=\"Una parte dell'interfaccia di PhpStorm Debugger con un elenco di punti di interruzione, nomi di file, numeri di riga e riferimenti a funzioni sulla sinistra. A destra viene mostrato un valore evidenziato all'interno del codice, con un menu contestuale aperto. Tra le opzioni c'\u00e8 \"Set Value...\" - il modo per assegnare nuovi valori alle variabili ed eseguire il debug del codice.\" width=\"1000\" height=\"585\"><figcaption id=\"caption-attachment-133023\" class=\"wp-caption-text\">Utilizzo del menu contestuale del tasto destro del mouse all&#8217;interno di PhpStorm Debugger per impostare nuovi valori.<\/figcaption><\/figure>\n<p>Per esempio, potete impostare valori diversi per le variabili lungo il percorso. Questo potrebbe essere un tentativo deliberato di rompere il vostro codice e vedere cosa succede, oppure un modo per testare il codice che ha gi\u00e0 bisogno di una correzione. In ogni caso, questo vi offre un metodo fantastico per eseguire il debug del vostro codice senza doverlo prima modificare.<\/p>\n<h2>Come Kinsta Vi Aiuta a Eseguire il Debug del Vostro Sito WordPress<\/h2>\n<p>WordPress dispone di una <a href=\"https:\/\/kinsta.com\/it\/docs\/hosting-wordpress\/wordpress-risoluzione-problemi\/debug-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">serie di opzioni di debug<\/a> attraverso <code>WP_DEBUG<\/code> e altri strumenti, <a href=\"https:\/\/kinsta.com\/it\/blog\/query-monitor\/\" target=\"_blank\" rel=\"noopener noreferrer\">come Query Monitor<\/a>. Questi strumenti consentono di visualizzare messaggi di errore precedentemente nascosti in tutto il sito e nella bacheca. Da l\u00ec potrete iniziare a capire qual \u00e8 il problema.<\/p>\n<p>Potete anche salvare i messaggi di errore usando <code>WP_DEBUG_LOG<\/code>, che vi offre un modo per documentare i problemi del vostro sito. Abbiamo spiegato come configurarlo in <a href=\"https:\/\/kinsta.com\/it\/blog\/wordpress-debug\/\" target=\"_blank\" rel=\"noopener noreferrer\">un altro articolo del blog<\/a>. La configurazione \u00e8 semplice attraverso il <a href=\"https:\/\/my.kinsta.com\/?lang=it\" target=\"_blank\" rel=\"noopener noreferrer\">cruscotto di MyKinsta<\/a> (e la schermata <strong>Siti &gt; Strumenti<\/strong> ):<\/p>\n<figure id=\"attachment_133029\" aria-describedby=\"caption-attachment-133029\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133029\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/kinsta-dashboard-debug.png\" alt=\"Il cruscotto di MyKinsta, che mostra la barra laterale viola di sinistra e un ulteriore sottomenu grigio. Ci sono due opzioni da attivare: uno strumento di ricerca e sostituzione a destra e lo strumento di debug di WordPress a sinistra.\" width=\"1000\" height=\"220\"><figcaption id=\"caption-attachment-133029\" class=\"wp-caption-text\">L&#8217;opzione di debug di WordPress nel cruscotto di MyKinsta.<\/figcaption><\/figure>\n<p>Se lo abbinate allo <a href=\"https:\/\/kinsta.com\/it\/devkinsta\/caratteristiche\/\" target=\"_blank\" rel=\"noopener noreferrer\">strumento gratuito DevKinsta per l&#8217;ambiente locale<\/a>, avrete anche un modo per <a href=\"https:\/\/kinsta.com\/docs\/devkinsta\/logging\/\" target=\"_blank\" rel=\"noopener noreferrer\">abilitare e disabilitare<\/a> <code>WP_DEBUG<\/code> con un solo clic per ogni sito che create:<\/p>\n<figure id=\"attachment_133025\" aria-describedby=\"caption-attachment-133025\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133025\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/devkinsta-debug.png\" alt=\"Il cruscotto di DevKinsta per un singolo sito. Mostra le impostazioni del database, compresi host, porta, nome e credenziali utente. \" width=\"1000\" height=\"513\"><figcaption id=\"caption-attachment-133025\" class=\"wp-caption-text\">Abilitazione di WP_DEBUG nel pannello di controllo di DevKinsta.<\/figcaption><\/figure>\n<p>In questo modo potete individuare gli errori sul vostro sito durante lo sviluppo e assicurarvi che non vengano trasmessi al sito live. Queste modalit\u00e0 sono anche facili da disattivare, il che \u00e8 fondamentale per la <a href=\"https:\/\/kinsta.com\/it\/blog\/plugin-sicurezza-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">sicurezza del sito e degli utenti<\/a>.<\/p>\n<p>Tutti i piani Kinsta includono anche lo <a href=\"https:\/\/kinsta.com\/it\/strumento-apm\/\">strumento Kinsta APM<\/a>, il nostro strumento di monitoraggio delle prestazioni per i siti WordPress.<\/p>\n<p><kinsta-video src=\"https:\/\/kinsta.wistia.com\/medias\/7aq1dfoysx\"><\/kinsta-video><\/p>\n<h2>Scheda Informativa sui Comandi<\/h2>\n<p>Prima di concludere questo articolo, dobbiamo parlare delle scorciatoie.<\/p>\n<p>Come per molti altri software, ci sono vari modi per navigare in Xdebug (e PhpStorm) usando solo la tastiera. In effetti, potete anche usare la riga di comando per eseguire il debug degli script PHP.<\/p>\n<p>Una volta che Xdebug \u00e8 attivo e funzionante, potete usare i seguenti comandi per muovervi:<\/p>\n<div class=\"responsive-table\">\n<table>\n<thead>\n<tr>\n<th>Comando<\/th>\n<th>Scorciatoia<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Specificare la porta su cui ascoltare (per esempio <code>[9003]<\/code>)<\/td>\n<td><code>-p [value]<\/code><\/td>\n<\/tr>\n<tr>\n<td>Impostare un punto di interruzione sulla riga specificata per il percorso del file indicato.<\/td>\n<td><code>breakpoint_set -t line file:\/\/\/&lt;path&gt; -n &lt;line&gt;<\/code><\/td>\n<\/tr>\n<tr>\n<td>Eseguire lo script fino alla fine o al punto di interruzione successivo<\/td>\n<td><code>run<\/code><\/td>\n<\/tr>\n<tr>\n<td>Passare alla riga successiva dell&#8217;eseguibile<\/td>\n<td><code>step_into<\/code><\/td>\n<\/tr>\n<tr>\n<td>Elencare le variabili e i valori dell&#8217;ambito corrente<\/td>\n<td><code>context_get<\/code><\/td>\n<\/tr>\n<tr>\n<td>Visualizzare il valore della propriet\u00e0 specificata<\/td>\n<td><code>property_get -n &lt;property&gt;<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Anche se il vostro editor di codice specifico avr\u00e0 le sue scorciatoie dedicate, qui l&#8217;attenzione \u00e8 rivolta a PhpStorm. Date un&#8217;occhiata a questa tabella di <a href=\"https:\/\/www.jetbrains.com\/help\/phpstorm\/mastering-keyboard-shortcuts.html#learn-shortcuts\">scorciatoie da tastiera<\/a> per usare Xdebug con PhpStorm:<\/p>\n<div class=\"responsive-table\">\n<table>\n<thead>\n<tr>\n<th>Comandi<\/th>\n<th>Windows<\/th>\n<th>macOS<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Azione Trova<\/td>\n<td><strong>Ctrl<\/strong> + <strong>Shift<\/strong> + <strong>A<\/strong><\/td>\n<td><strong>Shift<\/strong> + <strong>Cmd<\/strong> + <strong>A<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Aprire il Debugger<\/td>\n<td><strong>Shift<\/strong> + <strong>F9<\/strong><\/td>\n<td><strong>Ctrl<\/strong> + <strong>D<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Attivare il punto di interruzione<\/td>\n<td><strong>Control<\/strong> + <strong>F8<\/strong><\/td>\n<td><strong>Cmd<\/strong> + <strong>F8<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Entrare<\/td>\n<td><strong>F7<\/strong><\/td>\n<td><strong>F7<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Passare oltre<\/td>\n<td><strong>F8<\/strong><\/td>\n<td><strong>F8<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Visualizzare i punti di interruzione<\/td>\n<td><strong>Ctrl<\/strong> + <strong>Shift<\/strong> + <strong>F8<\/strong><\/td>\n<td><strong>Shift<\/strong> + <strong>Cmd<\/strong> + <strong>F8<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Riprendere il programma<\/td>\n<td><strong>F9<\/strong><\/td>\n<td><strong>F9<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Valutare l&#8217;espressione corrente<\/td>\n<td><strong>Alt<\/strong> + <strong>F8<\/strong><\/td>\n<td><strong>Opzione<\/strong> + <strong>F8<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Per fortuna non c&#8217;\u00e8 molto da memorizzare. Dovete aprire il debugger, impostare i punti di interruzione per linea, ascoltare le connessioni ed eseguire gli script.<\/p>\n<p>Tuttavia, se avete bisogno di una scorciatoia per un compito particolare, potete usare il comando PhpStorm <strong>Find Action<\/strong>:<\/p>\n<figure id=\"attachment_133026\" aria-describedby=\"caption-attachment-133026\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133026\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/find-action-bar.png\" alt=\"L'interfaccia di PhpStorm, che mostra la visualizzazione dell'azione Trova. Ci sono vari filtri di ricerca per Tutti, Classi, File, Simboli, Azioni e Git. Il termine di ricerca \u00e8 debug\" width=\"1000\" height=\"470\"><figcaption id=\"caption-attachment-133026\" class=\"wp-caption-text\">Utilizzo del menu Find Action di PhpStorm.<\/figcaption><\/figure>\n<p>Quando iniziate a digitare in questo spazio, vi verr\u00e0 mostrato un elenco dinamico di comandi e relative scorciatoie. Potete anche trovare una versione PDF di tutte le scorciatoie da tastiera nel menu <strong>Help &gt; Keyboard Shortcuts PDF<\/strong>.<\/p>\n<p>Se volete dare un&#8217;occhiata in tempo reale alle scorciatoie mentre lavorate con il mouse, JetBrains mette a disposizione il plugin <a href=\"https:\/\/plugins.jetbrains.com\/plugin\/9792-key-promoter-x\">Key Promoter X<\/a>:<\/p>\n<figure id=\"attachment_133028\" aria-describedby=\"caption-attachment-133028\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-133028\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/key-promoter-x.png\" alt=\"Una finestra dell'interfaccia di PhpStorm, che mostra una serie di opzioni per trovare file e progetti insieme ai corrispondenti collegamenti. Nell'angolo in basso a destra sono presenti due notifiche di Key Promoter X\" width=\"1000\" height=\"463\"><figcaption id=\"caption-attachment-133028\" class=\"wp-caption-text\">L&#8217;interfaccia di PhpStorm mostra le notifiche di Key Promoter X.<\/figcaption><\/figure>\n<p>Questo pratico strumento mostra le notifiche dell&#8217;ultima azione eseguita, insieme alla relativa scorciatoia da tastiera. Una volta che avrete imparato a usare le scorciatoie, potrete eliminare questo plugin e restituire al vostro schermo un po&#8217; di spazio prezioso.<\/p>\n\n<h2>Riepilogo<\/h2>\n<p>La pratica del debug ha fatto molta strada dai suoi umili inizi; oggi comprende un campo di applicazione molto pi\u00f9 ampio di quello che i suoi progenitori avrebbero potuto immaginare. Per svolgere un lavoro accurato quando si tratta di correggere il vostro codice PHP, dovete usare uno strumento efficace. Ci sono molte estensioni e strumenti eccellenti tra cui scegliere, ma <a href=\"https:\/\/xdebug.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Xdebug<\/a> \u00e8 senza dubbio il primo in classifica.<\/p>\n<p>Come abbiamo visto, Xdebug \u00e8 in grado di adattarsi anche ai gusti pi\u00f9 eclettici in fatto di editor di codice ed \u00e8 particolarmente indicato se abbinato a <a href=\"https:\/\/www.jetbrains.com\/phpstorm\/\" target=\"_blank\" rel=\"noopener noreferrer\">PhpStorm<\/a>. Tuttavia, a prescindere dalla vostra configurazione, spesso esiste una versione di Xdebug adatta alle vostre esigenze. Nel complesso, \u00e8 uno strumento potente, flessibile e intuitivo da usare.<\/p>\n<p>Pensate che Xdebug meriti le sue lodi o preferite un altro strumento di debug? Fatecelo sapere nella sezione commenti qui sotto!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come ogni developer pu\u00f2 testimoniare, il codice non \u00e8 mai pronto per la produzione dopo la prima bozza. Una parte fondamentale del processo di sviluppo \u00e8 &#8230;<\/p>\n","protected":false},"author":117,"featured_media":60715,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[26102,32,67,3,26103],"topic":[25883],"class_list":["post-60714","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-debug","tag-sviluppo-web","tag-webdev","tag-wordpress","tag-xdebug","topic-strumenti-di-sviluppo-web"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Come Pu\u00f2 Xdebug Aiutarti a Diventare Un Migliore Sviluppatore WordPress<\/title>\n<meta name=\"description\" content=\"Il debug \u00e8 una parte essenziale dello sviluppo web. Questo post mostra come usare Xdebug. Vedremo anche come integrare PhpStorm con Xdebug.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/it\/blog\/xdebug\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Come Pu\u00f2 Xdebug Aiutarti a Diventare Un Migliore Sviluppatore WordPress\" \/>\n<meta property=\"og:description\" content=\"Il debug \u00e8 una parte essenziale dello sviluppo web. Questo post mostra come usare Xdebug. Vedremo anche come integrare PhpStorm con Xdebug.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/xdebug\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-13T06:54:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-17T12:51:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/xdebug.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Salman Ravoof\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Il debug \u00e8 una parte essenziale dello sviluppo web. Questo post mostra come usare Xdebug. Vedremo anche come integrare PhpStorm con Xdebug.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/xdebug.png\" \/>\n<meta name=\"twitter:creator\" content=\"@salmanravoof\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Salman Ravoof\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"23 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/xdebug\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/xdebug\/\"},\"author\":{\"name\":\"Salman Ravoof\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987\"},\"headline\":\"Come Pu\u00f2 Xdebug Aiutarti a Diventare Un Migliore Sviluppatore WordPress\",\"datePublished\":\"2022-10-13T06:54:23+00:00\",\"dateModified\":\"2024-09-17T12:51:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/xdebug\/\"},\"wordCount\":3595,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/xdebug\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/xdebug.png\",\"keywords\":[\"debug\",\"sviluppo web\",\"webdev\",\"WordPress\",\"xdebug\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/xdebug\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/xdebug\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/xdebug\/\",\"name\":\"Come Pu\u00f2 Xdebug Aiutarti a Diventare Un Migliore Sviluppatore WordPress\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/xdebug\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/xdebug\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/xdebug.png\",\"datePublished\":\"2022-10-13T06:54:23+00:00\",\"dateModified\":\"2024-09-17T12:51:58+00:00\",\"description\":\"Il debug \u00e8 una parte essenziale dello sviluppo web. Questo post mostra come usare Xdebug. Vedremo anche come integrare PhpStorm con Xdebug.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/xdebug\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/xdebug\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/xdebug\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/xdebug.png\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/xdebug.png\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/xdebug\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Strumenti di Sviluppo Web\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/strumenti-di-sviluppo-web\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Come Pu\u00f2 Xdebug Aiutarti a Diventare Un Migliore Sviluppatore WordPress\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/it\/#website\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987\",\"name\":\"Salman Ravoof\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g\",\"caption\":\"Salman Ravoof\"},\"description\":\"Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.\",\"sameAs\":[\"https:\/\/salmanravoof.com\",\"https:\/\/www.linkedin.com\/in\/salman-ravoof-5a749133\/\",\"https:\/\/x.com\/salmanravoof\"],\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/salmanravoof\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Come Pu\u00f2 Xdebug Aiutarti a Diventare Un Migliore Sviluppatore WordPress","description":"Il debug \u00e8 una parte essenziale dello sviluppo web. Questo post mostra come usare Xdebug. Vedremo anche come integrare PhpStorm con Xdebug.","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:\/\/kinsta.com\/it\/blog\/xdebug\/","og_locale":"it_IT","og_type":"article","og_title":"Come Pu\u00f2 Xdebug Aiutarti a Diventare Un Migliore Sviluppatore WordPress","og_description":"Il debug \u00e8 una parte essenziale dello sviluppo web. Questo post mostra come usare Xdebug. Vedremo anche come integrare PhpStorm con Xdebug.","og_url":"https:\/\/kinsta.com\/it\/blog\/xdebug\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2022-10-13T06:54:23+00:00","article_modified_time":"2024-09-17T12:51:58+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/xdebug.png","type":"image\/png"}],"author":"Salman Ravoof","twitter_card":"summary_large_image","twitter_description":"Il debug \u00e8 una parte essenziale dello sviluppo web. Questo post mostra come usare Xdebug. Vedremo anche come integrare PhpStorm con Xdebug.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/xdebug.png","twitter_creator":"@salmanravoof","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Salman Ravoof","Tempo di lettura stimato":"23 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/xdebug\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/xdebug\/"},"author":{"name":"Salman Ravoof","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987"},"headline":"Come Pu\u00f2 Xdebug Aiutarti a Diventare Un Migliore Sviluppatore WordPress","datePublished":"2022-10-13T06:54:23+00:00","dateModified":"2024-09-17T12:51:58+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/xdebug\/"},"wordCount":3595,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/xdebug\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/xdebug.png","keywords":["debug","sviluppo web","webdev","WordPress","xdebug"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/xdebug\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/xdebug\/","url":"https:\/\/kinsta.com\/it\/blog\/xdebug\/","name":"Come Pu\u00f2 Xdebug Aiutarti a Diventare Un Migliore Sviluppatore WordPress","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/xdebug\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/xdebug\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/xdebug.png","datePublished":"2022-10-13T06:54:23+00:00","dateModified":"2024-09-17T12:51:58+00:00","description":"Il debug \u00e8 una parte essenziale dello sviluppo web. Questo post mostra come usare Xdebug. Vedremo anche come integrare PhpStorm con Xdebug.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/xdebug\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/xdebug\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/xdebug\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/xdebug.png","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/10\/xdebug.png","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/xdebug\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"Strumenti di Sviluppo Web","item":"https:\/\/kinsta.com\/it\/argomenti\/strumenti-di-sviluppo-web\/"},{"@type":"ListItem","position":3,"name":"Come Pu\u00f2 Xdebug Aiutarti a Diventare Un Migliore Sviluppatore WordPress"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/it\/#website","url":"https:\/\/kinsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987","name":"Salman Ravoof","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g","caption":"Salman Ravoof"},"description":"Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.","sameAs":["https:\/\/salmanravoof.com","https:\/\/www.linkedin.com\/in\/salman-ravoof-5a749133\/","https:\/\/x.com\/salmanravoof"],"url":"https:\/\/kinsta.com\/it\/blog\/author\/salmanravoof\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/60714","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/users\/117"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=60714"}],"version-history":[{"count":11,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/60714\/revisions"}],"predecessor-version":[{"id":79036,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/60714\/revisions\/79036"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60714\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60714\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60714\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60714\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60714\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60714\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60714\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60714\/translations\/es"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60714\/translations\/se"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60714\/translations\/dk"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/60714\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/60715"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=60714"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=60714"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=60714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}