{"id":231733,"date":"2022-12-23T19:39:00","date_gmt":"2022-12-23T16:39:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231733"},"modified":"2022-12-07T10:55:00","modified_gmt":"2022-12-07T07:55:00","slug":"modelli-di-progettazione-per-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/modelli-di-progettazione-per-wordpress\/","title":{"rendered":"Modelli di progettazione per WordPress"},"content":{"rendered":"\n<p>Pi\u00f9 a lungo lavori con una determinata piattaforma, pi\u00f9 inizi a riconoscere determinati modi per fare qualcosa. Ed \u00e8 molto probabile che inizierai a riconoscere due cose che queste cose possono essere fatte:<\/p>\n<ul>\n<li>in un modo che \u00e8 veloce da sviluppare, ma pi\u00f9 difficile da mantenere o<\/li>\n<li>in un modo che \u00e8 pi\u00f9 lento da sviluppare, ma pi\u00f9 facile da mantenere.<\/li>\n<\/ul>\n<p>Naturalmente, come qualsiasi progetto, i requisiti, i vincoli, i budget e il tempo avranno tutti un impatto su ci\u00f2 che sei in grado di implementare. Ma quello che sto arrivando \u00e8 che, indipendentemente da come si implementa una soluzione, si inizia a familiarizzare su come risolvere un determinato problema.<\/p>\n<p>Se un problema deve essere risolto rapidamente, allora conosci i compromessi, ma probabilmente sai come farlo rapidamente. Allo stesso modo, se hai un po&#8217; pi\u00f9 di tempo (e budget), puoi svilupparlo in un altro modo e saprai come farlo e possibilmente anche avvolgerlo con suite di test se i vincoli lo consentono.<\/p>\n<p>Indipendentemente da come devi implementare una soluzione, conosci i modi in cui puoi farlo.<\/p>\n<p>E questo fa sorgere una domanda:<\/p>\n<p>Esistono modelli di progettazione specifici per una determinata piattaforma? E se s\u00ec, quali sono alcuni dei modelli di progettazione che potrebbero essere disponibili in WordPress?<\/p>\n<h2>Modelli di progettazione per WordPress<\/h2>\n<p>Ovviamente, non sto parlando di modelli di design che la <a href=\"https:\/\/en.wikipedia.org\/wiki\/Design_Patterns_(book)\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Gang of Four<\/a> ha sviluppato cos\u00ec tanti decenni fa. Invece, sto parlando di modi per fare determinate cose in WordPress.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160471-61e70b0325077.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-160471-61e70b0325077.png\" alt=\"Modelli di progettazione per WordPress\" ><\/a><\/p>\n<p>Per esempio:<\/p>\n<ul>\n<li>disinfettare adeguatamente le informazioni prima di scriverle nel database (per post, tassonomie, metadati e cos\u00ec via),<\/li>\n<li>leggere i dati dal database utilizzando l&#8217;utilit\u00e0 del database di WordPress (o <a href=\"https:\/\/codex.wordpress.org\/Class_Reference\/wpdb\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">$wpdb<\/a> ),<\/li>\n<li>convalidare e restituire informazioni dal database quando richiesto,<\/li>\n<li>verificare la sicurezza di una richiesta Ajax prima di eseguire qualsiasi lavoro,<\/li>\n<li>impostare correttamente una query personalizzata e quindi reimpostarla in modo da non interferire con il ciclo principale,<\/li>\n<li>aggiungendo risorse specifiche della pagina sia nell&#8217;area amministrativa di WordPress che nel sito pubblico di WordPress,<\/li>\n<li>e cos\u00ec via.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160471-61e70b06ec937.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-160471-61e70b06ec937.png\" alt=\"Modelli di progettazione per WordPress\" ><\/a><\/p>\n<p>Ci sono molte cose che potremmo elencare qui. Ma penso che valga la pena esplorare come potrebbero apparire alcuni di questi.<\/p>\n<p>Innanzitutto, per\u00f2, cosa sono <a href=\"https:\/\/en.wikipedia.org\/wiki\/Design_Patterns\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">i design patterns<\/a> in senso classico?<\/p>\n<blockquote>\n<p>Un design pattern \u00e8 la forma riutilizzabile di una soluzione a un problema di progettazione. L&#8217;idea \u00e8 stata introdotta dall&#8217;architetto Christopher Alexander ed \u00e8 stata adattata per varie altre discipline, in particolare l&#8217;informatica.<\/p>\n<\/blockquote>\n<p>Ho lavorato in WordPress abbastanza a lungo e ho creato abbastanza plugin e strumenti usando l&#8217;applicazione per riconoscere come fare determinate cose invece di inventare qualcosa di originale per ogni singolo progetto.<\/p>\n<p>\u00c8 sicuro dire, quindi, che ci sono cose riutilizzabili che possiamo impiegare in WordPress per problemi comuni? Sicuro. Dovrebbero essere generalizzati, ovviamente.<\/p>\n<p>Quindi prender\u00f2 una via di mezzo su questo almeno per il bene del blog. Inizier\u00f2 una serie che parler\u00e0 degli argomenti precedenti insieme ad esempi di codice.<\/p>\n<p>Saranno articoli brevi e far\u00f2 il possibile per assicurarmi che sia facile da seguire (con commenti e spiegazioni sul codice) e, chiss\u00e0, forse questo diventer\u00e0 qualcosa di pi\u00f9.<\/p>\n<h2>Non sto parlando di biblioteche<\/h2>\n<p>Questo non deve essere confuso con <a href=\"https:\/\/en.wikipedia.org\/wiki\/Library_(computing)\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">le librerie<\/a>. Ricorda, le librerie sono come piccoli pezzi di software che potremmo essere in grado di eseguire in modo indipendente, oppure potrebbero essere una suite di strumenti o funzionalit\u00e0 che possono essere importati nel tuo progetto per aggiungere funzionalit\u00e0.<\/p>\n<blockquote>\n<p>In informatica, una biblioteca \u00e8 una raccolta di risorse non volatili utilizzate dai programmi per computer, spesso per lo sviluppo di software. Questi possono includere dati di configurazione, documentazione, dati della guida, modelli di messaggi, codice e subroutine prescritti, classi, valori o specifiche del tipo.<\/p>\n<\/blockquote>\n<p>Forse alcuni modelli specifici di WordPress potrebbero essere integrati nelle loro librerie, ma non \u00e8 questo il punto del post.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160471-61e70b0a9a64d.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-160471-61e70b0a9a64d.png\" alt=\"Modelli di progettazione per WordPress\" ><\/a><\/p>\n<p>Invece, sto semplicemente cercando di definire potenziali modelli comuni che esistono in WordPress.<\/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>Forse ci sono alcuni modelli di progettazione per WordPress. In questo post e in una prossima serie, forse vale la pena esplorarli.<\/p>\n","protected":false},"author":1,"featured_media":236332,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[896,720,844,865],"tags":[1168],"class_list":["post-231733","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-sviluppatore","category-tutorial","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/231733","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=231733"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/231733\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/236332"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=231733"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=231733"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=231733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}