{"id":230887,"date":"2022-12-03T12:53:00","date_gmt":"2022-12-03T09:53:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230887"},"modified":"2022-12-03T18:37:08","modified_gmt":"2022-12-03T15:37:08","slug":"strumenti-di-debug-nativi-di-wordpress-che-non-richiedono-un-ide","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/strumenti-di-debug-nativi-di-wordpress-che-non-richiedono-un-ide\/","title":{"rendered":"Strumenti di debug nativi di WordPress che non richiedono un IDE"},"content":{"rendered":"\n<p>Se ti \u00e8 appena capitato di iscriverti <strong><a href=\"https:\/\/tommcfarlin.com\/members-only-content\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">al<\/a><\/strong> sito e stai perseguendo contenuti specifici per <strong><a href=\"https:\/\/tommcfarlin.com\/tag\/the-independent-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">The Independent WordPress Developer<\/a><\/strong>, ti consiglio di leggere <strong><a href=\"https:\/\/wordpress.mediadoma.com\/it\/installazione-di-wordpress-per-lo-sviluppo-locale\/\" title=\"il post precedente\">il post precedente<\/a><\/strong>, almeno, per prepararti ai contenuti di questo post.<\/p>\n<p>Se, tuttavia, stai cercando di recuperare il ritardo sull&#8217;articolo precedente, ecco un breve elenco di tutto ci\u00f2 che \u00e8 stato scritto finora:<\/p>\n<ol>\n<li><strong><a href=\"https:\/\/tommcfarlin.com\/local-development-for-the-indie-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Sviluppo locale per lo sviluppatore WordPress indipendente<\/a><\/strong><\/li>\n<li><a href=\"https:\/\/tommcfarlin.com\/databases-and-tools-indie-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Database e strumenti per lo sviluppatore WordPress indipendente<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/it\/installazione-di-wordpress-per-lo-sviluppo-locale\/\" title=\"Installazione di WordPress per lo sviluppo locale\">Installazione di WordPress per lo sviluppo locale<\/a><\/li>\n<\/ol>\n<p>Mentre ci prepariamo a parlare di argomenti pi\u00f9 avanzati come il debug e gli IDE, vale innanzitutto la pena notare gli strumenti che abbiamo a disposizione che possiamo installare all&#8217;interno di WordPress che ci aiuteranno con i problemi di debug durante lo sviluppo.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163128-61e74ae7f1644.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163128-61e74ae7f1644.png\" alt=\"Strumenti di debug nativi di WordPress che non richiedono un IDE\"><\/a><\/p>\n<p>Inoltre, questi problemi non sono correlati a problemi strettamente PHP. Questi includono anche problemi con JavaScript. E per fare un ulteriore passo avanti, ci sono modi in cui possiamo configurare WordPress in modo nativo in modo che generi errori direttamente nel nostro browser.<\/p>\n<p>Quindi, prima di esaminare i registri degli errori, gli IDE, Xdebug e cos\u00ec via, daremo un&#8217;occhiata a cosa possiamo fare all&#8217;interno di WordPress stesso.<\/p>\n<h2>Strumenti di debug nativi di WordPress<\/h2>\n<p>Gli strumenti di debug nativi di WordPress sono una combinazione di due cose:<\/p>\n<ol>\n<li>le opzioni che possiamo impostare nel file di configurazione di WordPress che ci consentono di vedere le informazioni scritte sullo schermo,<\/li>\n<li>diversi plugin che ci aiuteranno a lavorare con i file PHP e JavaScript dall&#8217;area di amministrazione di WordPress<\/li>\n<\/ol>\n<p>Per il secondo punto sopra, voglio essere chiaro che ci sono molti plugin disponibili per qualcosa del genere; tuttavia, voglio mantenere l&#8217;installazione il pi\u00f9 snella possibile in modo da non essere inondati di troppe informazioni.<\/p>\n<p>Invece, voglio che abbiamo le informazioni di cui abbiamo bisogno per testare e valutare il nostro lavoro, ma che abbiamo solo ci\u00f2 di cui abbiamo bisogno. Almeno per ora. Forse parleremo di argomenti avanzati nei post futuri.<\/p>\n<p>Detto questo, iniziamo.<\/p>\n<h3>Configurazione WordPress<\/h3>\n<p>Prima di preoccuparsi della configurazione, WordPress stesso fornisce alcune opzioni diverse che possiamo configurare nel <code>wp-config.php<\/code>file. Questi sono ben documentati nel Codex, ma so per esperienza di e-mail di altri che le informazioni possono essere un po&#8217; difficili da vagliare.<\/p>\n<p>Innanzitutto, \u00e8 importante notare quanto segue (come citato dal codice di WordPress):<\/p>\n<blockquote>\n<p><a href=\"\/\/codex.wordpress.org\/WP_DEBUG)\" class=\"external external_icon\" rel=\"nofollow\" target=\"_blank\">WP_DEBUG<\/a> \u00e8 una costante PHP (una variabile globale permanente) che pu\u00f2 essere utilizzata per attivare la modalit\u00e0 &quot;debug&quot; in WordPress. Si presume che sia false per impostazione predefinita e di solito \u00e8 impostato su true nel file <a href=\"https:\/\/codex.wordpress.org\/Editing_wp-config.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp-config.php<\/a> sulle copie di sviluppo di WordPress.<\/p>\n<\/blockquote>\n<p>Questo presuppone che tu capisca le costanti PHP. In caso contrario, controlla il manuale <strong><a href=\"https:\/\/secure.php.net\/manual\/en\/language.constants.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">qui<\/a><\/strong> (\u00e8 piuttosto semplice). Il corto \u00e8 il seguente:<\/p>\n<blockquote>\n<p>Una costante \u00e8 un identificatore (nome) per un valore semplice.<\/p>\n<\/blockquote>\n<p>Quindi far\u00f2 il possibile per fornire le opzioni di configurazione il pi\u00f9 distillate possibile.<\/p>\n<p>Innanzitutto, nel <code>wp-config.php<\/code>file, vorrai cambiare la riga <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/426e02bcfc411d43be6715b3e84ead7e#file-09-wp-config-original-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">che dice:<\/a><\/strong><\/p>\n<pre><code>&lt;?php\ndefine( 'WP_DEBUG', false );<\/code><\/pre>\n<p><strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/426e02bcfc411d43be6715b3e84ead7e#file-10-wp-config-debug-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">A questo<\/a><\/strong> :<\/p>\n<pre><code>&lt;?php\ndefine( 'WP_DEBUG', true );<\/code><\/pre>\n<p>Non \u00e8 tutto, per\u00f2. Ci sono alcune altre cose da aggiungere che miglioreranno l&#8217;esperienza di debug:<\/p>\n<pre><code>&lt;?php\ndefine( 'WP_DEBUG', true );\ndefine( 'WP_DEBUG_LOG', true );\ndefine( 'WP_DEBUG_DISPLAY', true );\n@ini_set( 'display_errors', 1 );\ndefine( 'SCRIPT_DEBUG', true );\ndefine( 'SAVEQUERIES', true );<\/code><\/pre>\n<p>Se stai seguendo nel Ma cosa significa ogni riga? Ecco la spiegazione succinta che posso dare in questo momento:<\/p>\n<ul>\n<li><strong>WP_DEBUG<\/strong>. Questo visualizzer\u00e0 tutti gli errori e gli avvisi generati da PHP durante l&#8217;esecuzione di WordPress. L&#8217;esecuzione dell&#8217;applicazione da sola non dovrebbe mostrare alcun problema; tuttavia, eseguirlo insieme a vari plug-in potrebbe essere una storia diversa a seconda della qualit\u00e0 del plug-in.<\/li>\n<li><strong>WP_DEBUG_LOG<\/strong>. Questa \u00e8 una delle mie costanti preferite e scrive tutto l&#8217;output nel registro in modo dettagliato. Tratter\u00f2 questo in un prossimo post ma, per ora, sappi che questo \u00e8 qualcosa che penso dovrebbe essere sempre impostato nel tuo <strong><a href=\"https:\/\/wordpress.mediadoma.com\/it\/installazione-di-wordpress-per-lo-sviluppo-locale\/\" title=\"ambiente di sviluppo.\">ambiente di sviluppo.<\/a><\/strong><\/li>\n<li><strong>WP_DEBUG_DISPLAY<\/strong>. Questo \u00e8 uno che puoi impostare su true o false (anche se preferisco true). Completa l&#8217;impostazione precedente consentendoti di vedere i messaggi nel browser che vengono scritti anche nel blog. Non so se questo \u00e8 qualcosa che troverai utile o meno. Se non sei pronto a esaminare le tracce dello stack e informazioni pi\u00f9 dettagliate, potresti prendere in considerazione l&#8217;impostazione di questo su true.<\/li>\n<li><strong>dislay_errors.<\/strong> Il Codex menziona che puoi impostare questo valore su false, ma penso che dovrebbe essere impostato su true per abilitare gli errori e gli avvisi.<\/li>\n<li><strong>SCRIPT_DEBUG<\/strong>. Il core di WordPress utilizza versioni ridotte di file CSS e JavaScript. La disattivazione di questa impostazione ti consentir\u00e0 di visualizzare tutto il contenuto dei file nella forma originale. Ci\u00f2 \u00e8 particolarmente utile se intendi contribuire a Core o lavorare su JavaScript incluso in Core.<\/li>\n<li><strong>SAVEQUERIE<\/strong>. Questa \u00e8 un&#8217;impostazione leggermente pi\u00f9 avanzata, secondo me. In breve, prender\u00e0 tutte le query eseguite sul database e le salver\u00e0 in un array PHP che potrai analizzare in seguito. Esso<\/li>\n<\/ul>\n<p>Ora che abbiamo coperto la configurazione di WordPress, che dire dei plugin?<\/p>\n<h3>Plugin per il debug<\/h3>\n<p>Quando dico che il repository \u00e8 pieno di plugin per questo, lo intendo. In effetti, se sei nuovo nello sviluppo di WordPress, non consiglierei di cercare cose da installare.<\/p>\n<p>Pu\u00f2 diventare rapidamente opprimente, rischiare di non capire cosa fanno alcuni di loro e potenzialmente portarti lungo un percorso in cui finisci per interrompere la tua installazione.<\/p>\n<p>Invece di farlo, ti consiglio di dare un&#8217;occhiata ai seguenti plugin (leggendo prima la loro descrizione, ovviamente) e poi da l\u00ec:<\/p>\n<ol>\n<li><strong><a href=\"https:\/\/wordpress.org\/plugins\/debug-bar\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Barra di debug<\/a><\/strong>. Questo plug-in da solo aggiunge un menu alla barra di amministrazione che ti consentir\u00e0 di visualizzare la query, la cache e altre informazioni. Richiede che WP_DEBUG e SAVEQUERIES come descritto sopra siano abilitati.<\/li>\n<li><strong><a href=\"https:\/\/wordpress.org\/plugins\/debug-bar-list-dependencies\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Debug Bar List Script e dipendenze stile<\/a><\/strong>. Questo \u00e8 un componente aggiuntivo del plug-in di cui sopra che ti consentir\u00e0 di eseguire il debug di ulteriori stili JavaScript e CSS in esecuzione nel contesto di WordPress.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/debug-bar-console\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Console della barra di debug<\/a>. Questo plugin \u00e8 uno che dovresti usare con esitazione. Per lo meno, ti consente di eseguire PHP e MySQL dall&#8217;interno di WordPress stesso. Non consiglio questo plugin a meno che tu non sia molto a tuo agio con una delle due lingue. Tuttavia, se lo sei, questo \u00e8 qualcosa che pu\u00f2 essere potente per la prototipazione di una funzione o di una query prima di integrarla nel tuo plug-in.<\/li>\n<\/ol>\n<h2>Esame dei registri degli errori<\/h2>\n<p>Nel prossimo post, inizieremo a esaminare ci\u00f2 che \u00e8 necessario per esaminare il registro degli errori generato da WordPress e come comprendere le informazioni che vediamo.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163128-61e74aee547cd.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163128-61e74aee547cd.png\" alt=\"Strumenti di debug nativi di WordPress che non richiedono un IDE\"><\/a><\/p>\n<p>Inoltre, esamineremo ci\u00f2 che \u00e8 necessario per utilizzare i plug-in descritti in questo post. Successivamente, passeremo a strumenti ancora pi\u00f9 avanzati.<\/p>\n<p>Ma un passo alla volta, giusto?<\/p>\n<p>Per ora, tuttavia, configura la tua installazione come descritto sopra, installa i plug-in collegati e quindi fai il possibile per esplorare come funzionano, cosa potresti vedere sullo schermo e come questo pu\u00f2 avere un impatto e un beneficio positivo sul tuo sviluppo.<\/p>\n<p>S\u00ec, potrebbe esserci un po&#8217; di una curva di apprendimento. Ma \u00e8 per questo che stiamo andando cos\u00ec piano. C&#8217;\u00e8 molto da imparare e abbiamo tutto il tempo per coprire tutto il terreno necessario.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Prima di esaminare i log degli errori, gli IDE, Xdebug e cos\u00ec via, daremo un&#8217;occhiata a cosa possiamo fare con gli strumenti di debug nativi di WordPress.<\/p>\n","protected":false},"author":1,"featured_media":163129,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[896,720,865],"tags":[1168],"class_list":["post-230887","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-sviluppatore","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230887","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=230887"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230887\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/163129"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=230887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=230887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=230887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}