{"id":231175,"date":"2022-12-10T11:23:00","date_gmt":"2022-12-10T08:23:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231175"},"modified":"2022-12-10T11:24:11","modified_gmt":"2022-12-10T08:24:11","slug":"sviluppo-wordpress-aggirare-il-codice","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/sviluppo-wordpress-aggirare-il-codice\/","title":{"rendered":"Sviluppo WordPress: aggirare il codice"},"content":{"rendered":"\n<p>Se hai seguito <strong><a href=\"https:\/\/tommcfarlin.com\/tag\/the-independent-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">la serie<\/a><\/strong> finora, probabilmente vedrai quanto pu\u00f2 essere utile un corretto debug, specialmente quando lavori su WordPress.<\/p>\n<p>Vale a dire che non solo sei in grado di ottenere preziose informazioni sui tuoi progetti, ma puoi anche vedere come funziona il core di WordPress.<\/p>\n<p>A questo punto, per\u00f2, non abbiamo fatto molto. Come ricorderai dal <strong><a href=\"https:\/\/wordpress.mediadoma.com\/it\/unintroduzione-al-debug\/\" title=\"post precedente\">post precedente<\/a><\/strong> (o se non hai visto lo screencast, ora \u00e8 un buon momento per farlo), puoi vedere quanto offre il debug.<\/p>\n<p>La verit\u00e0 \u00e8 che abbiamo appena scalfito la superficie. Come ho detto l&#8217;ultima volta, questo post e questo screencast si concentreranno specificamente su quanto segue:<\/p>\n<blockquote>\n<p>Nel prossimo post, esamineremo le cose pi\u00f9 avanzate che possiamo fare come entrare nelle funzioni, uscire dalle funzioni e scavalcare le funzioni.<\/p>\n<\/blockquote>\n<p>Non siamo ancora a un punto in cui ci preoccuperemo di modificare al volo i valori delle variabili, ma vedremo sicuramente come possiamo utilizzare strategicamente il debugger per entrare in determinate funzioni, scavalcare determinate funzioni e uscire da determinate funzioni.<\/p>\n<h2>Intorno al codice<\/h2>\n<p>Prima di condividere lo screencast, voglio definire cosa significa aggirare il codice in un progetto. Sembra qualcosa che facciamo ogni volta che navighiamo nella base di codice.<\/p>\n<p>Ma questo non \u00e8 vero nel contesto del debug.<\/p>\n<\/p>\n<p>Ricorda che ai fini di questa particolare serie, sto utilizzando l&#8217;ultima versione di WordPress di Subversion. Puoi rivedere come configurarlo leggendo <strong><a href=\"https:\/\/wordpress.mediadoma.com\/it\/sviluppo-di-plugin-e-temi-contro-il-tronco-di-wordpress\/\" title=\"questo post\">questo post<\/a><\/strong>.<\/p>\n<h3>Una parola sui passaggi<\/h3>\n<p>Prima di definire i termini imminenti, tieni presente che l&#8217;idea di un &quot;passo&quot; durante il debug \u00e8 analoga all&#8217;andare riga per riga attraverso la base di codice.<\/p>\n<p>Come abbiamo visto nel post precedente, l&#8217;esecuzione del programma si interromper\u00e0 non appena viene raggiunto un punto di interruzione. Da l\u00ec, il risultato di come procede il programma \u00e8 lasciato a noi. E con questo come sfondo, definiremo alcuni termini.<\/p>\n<ul>\n<li><strong>Entrare in una funzione<\/strong> \u00e8 un&#8217;azione che, quando si preme una chiamata di funzione, ti porter\u00e0 nella funzione. A volte questo \u00e8 utile, ad esempio se si desidera vedere cosa sta facendo la funzione o vedere come vengono impostati i valori; altre volte, non \u00e8 necessario se ti interessa solo la funzione in esecuzione o ti interessa solo ci\u00f2 che restituisce.<\/li>\n<li><strong>Superare una chiamata di funzione<\/strong> ti consentir\u00e0 di ignorare l&#8217;esecuzione di una funzione nel senso che \u00e8 ancora in esecuzione, semplicemente non vediamo come funziona effettivamente. Al contrario, il controllo passer\u00e0 alla riga successiva al termine dell&#8217;esecuzione della funzione.<\/li>\n<li><strong>L&#8217;uscita da una funzione<\/strong> viene utilizzata quando sei entrato in una funzione, raggiungi un punto in cui hai finito di valutare il codice e quindi sei pronto per tornare indietro a qualsiasi cosa la codebase far\u00e0 in seguito. Questo \u00e8 utile se vuoi scoprire dove potrebbe trovarsi un bug e sospettarlo in una parte del codice (dove potrebbe essere o meno).<\/li>\n<\/ul>\n<p>E questo \u00e8 tutto. Se questo \u00e8 nuovo di zecca, potrebbe sembrare strano o potrebbe essere difficile avvolgerci la testa. Se \u00e8 cos\u00ec, va bene. \u00c8 cos\u00ec che va con qualsiasi cosa nuova, giusto?<\/p>\n<p>D&#8217;altra parte, se vi capita di conoscere questi termini o di grovigliarne facilmente le definizioni, allora considerate i punti precedenti un ripasso.<\/p>\n<h3>E ora uno Screencast<\/h3>\n<p>In questo screencast, eseguir\u00f2 tutte le azioni di cui sopra utilizzando uno dei miei plugin: <strong><a href=\"https:\/\/wordpress.org\/plugins\/easier-excerpts\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Estratti pi\u00f9 facili<\/a><\/strong>. Tuttavia, questo non significa essere alcun tipo di autopromozione. Invece, conosco la base di codice e non devo preoccuparmi di mostrare effettivamente il lavoro che viene svolto per qualcun altro.<\/p>\n<div class=\"sds-iframe-wrapper fitvidsignore\" style=\"position:relative;padding-top:56.25%;max-width:100%;\"><iframe allowfullscreen style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" src=\"\/\/www.youtube.com\/embed\/DZFBcEzEIVw\" frameborder=\"0\"><\/iframe><\/div>\n<p>Ora che hai visto lo screencast e sai che \u00e8 strettamente la mia base di codice, puoi <strong><a href=\"https:\/\/wordpress.org\/plugins\/easier-excerpts\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">scaricare il codice<\/a><\/strong> ed eseguire tu stesso tutte le stesse azioni per ottenere un handle su come eseguire le azioni descritte in questo post.<\/p>\n<p>Ci\u00f2 fornir\u00e0 ancora pi\u00f9 pratica per le tue capacit\u00e0 di debug e dovrebbe rendere pi\u00f9 semplice continuare a migliorare le nostre capacit\u00e0 di debug mentre andiamo avanti nel prossimo post.<\/p>\n<h2>Avanti il \u200b\u200bprossimo<\/h2>\n<p>Questo \u00e8 un post un po&#8217; lungo e ho cercato di assicurarmi che tutte le spiegazioni fossero state fornite prima di visualizzare lo screencast. Dopotutto, \u00e8 molto pi\u00f9 facile leggere paragrafi di testo sul contenuto e poi vederlo riprodotto in un breve video piuttosto che avere un video di 15 minuti, vero?<\/p>\n<p>Per quanto utile possa essere, c&#8217;\u00e8 ancora di pi\u00f9. Ed \u00e8 quello che esamineremo nel prossimo post. In particolare, esamineremo come ispezionare i valori delle variabili, esaminare cosa contiene un array e quindi come modificare le variabili al volo.<\/p>\n<p>\u00c8 roba potente, ma assicurati di aver esaminato <strong><a href=\"https:\/\/wordpress.mediadoma.com\/it\/unintroduzione-al-debug\/\" title=\"il primo contenuto\">il primo contenuto<\/a><\/strong>, di aver esaminato attentamente questo post e di fare un po&#8217; di pratica prima di andare avanti.<\/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 condividere lo screencast, voglio definire cosa significa aggirare il codice in un progetto. Poi ti mostrer\u00f2 come.<\/p>\n","protected":false},"author":1,"featured_media":236179,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[896,720,844],"tags":[1168],"class_list":["post-231175","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-sviluppatore","category-tutorial","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/231175","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=231175"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/231175\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/236179"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=231175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=231175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=231175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}