{"id":230041,"date":"2022-11-10T13:33:00","date_gmt":"2022-11-10T10:33:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230041"},"modified":"2022-11-10T13:33:10","modified_gmt":"2022-11-10T10:33:10","slug":"librerie-per-plugin-di-wordpress-parte-2","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/librerie-per-plugin-di-wordpress-parte-2\/","title":{"rendered":"Librerie per plugin di WordPress, parte 2"},"content":{"rendered":"\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/it\/librerie-per-plugin-di-wordpress-parte-1\/\" title=\"Ieri\">Ieri<\/a> ho iniziato una breve serie di post riguardanti gli strumenti che penso siano utili per scrivere codice di alta qualit\u00e0 in un progetto WordPress (in particolare quelli che sono plugin costruiti usando un approccio orientato agli oggetti).<\/p>\n<p>Se non hai letto il post, il primo set di strumenti menzionato \u00e8 il seguente:<\/p>\n<ul>\n<li><a href=\"https:\/\/phpunit.de\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Unit\u00e0 PHP<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/phpro\/grumphp\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP<\/a><\/li>\n<li><a href=\"https:\/\/phpmd.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPMD<\/a><\/li>\n<\/ul>\n<p>Ci sono circa altri cinque strumenti che mi piace continuare a utilizzare sui miei progetti. Quindi ecco i prossimi tre con gli ultimi due in arrivo nel prossimo post.<\/p>\n<h2>Librerie per plugin di WordPress, continua<\/h2>\n<p>Come accennato in precedenza, trovo questi strumenti utili ogni volta che lavoro su plugin WordPress orientati agli oggetti. Inoltre, questi sono naturalmente distribuiti su alcuni post per mantenerli brevi e concentrati.<\/p>\n<h3><a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Codice PHP Sniffer<\/a><\/h3>\n<p>Se leggi questo blog da molto tempo, probabilmente hai letto un post o almeno menzionato qualcosa su <a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP CodeSniffer<\/a>. Questo \u00e8 qualcosa che penso, se non altro, ogni sviluppatore di WordPress dovrebbe aver installato nel proprio IDE.<\/p>\n<p>Dalla pagina del repository del progetto:<\/p>\n<blockquote>\n<p>PHP_CodeSniffer tokenizza file PHP, JavaScript e CSS e rileva le violazioni di un insieme definito di standard di codifica.<\/p>\n<\/blockquote>\n<p>Ora, per quanto riguarda le regole, \u00e8 un&#8217;altra cosa. Alcune persone preferiscono gli <a href=\"https:\/\/tommcfarlin.com\/following-the-wordpress-coding-standards\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">standard di codifica di WordPress<\/a> ; alcuni preferiscono <a href=\"https:\/\/wordpress.mediadoma.com\/it\/utilizzo-dei-psr-rispetto-agli-standard-di-codifica-di-wordpress\/\" title=\"PSR2\">PSR2<\/a>, altri preferiscono altri insiemi di regole. Non si tratta tanto di ci\u00f2 che preferisci purch\u00e9 tu o il tuo team siate coerenti.<\/p>\n<p>Ed \u00e8 ci\u00f2 che questa particolare libreria ti aiuta a fare. Inoltre, non fa male che puoi integrarti nel tuo IDE (supponendo che sia uno degli editor pi\u00f9 popolari).<\/p>\n<h3><a href=\"https:\/\/github.com\/sebastianbergmann\/phpcpd\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPCPD<\/a><\/h3>\n<p>PHPCPD \u00e8 una semplice libreria che analizza il tuo codice per rilevare il codice duplicato, che di solito deriva dall&#8217;essere copiato e incollato da qualche altra parte (anche se \u00e8 la tua base di codice). L&#8217;idea alla base della libreria \u00e8 di ridurre il codice duplicato.<\/p>\n<\/p>\n<p>E non \u00e8 molto pi\u00f9 chiaro <a href=\"https:\/\/github.com\/sebastianbergmann\/phpcpd\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">di questo<\/a> :<\/p>\n<blockquote>\n<p>phpcpd \u00e8 un rilevatore di copia\/incolla (CPD) per codice PHP.<\/p>\n<\/blockquote>\n<p>In altre parole, \u00e8 un passo per aiutarti a mantenerlo ASCIUTTO.<\/p>\n<h3><a href=\"https:\/\/github.com\/povils\/phpmnd\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPMND<\/a><\/h3>\n<p>Se uno degli obiettivi per cui ci sforziamo nel nostro codice \u00e8 renderlo il pi\u00f9 leggibile possibile da altri che possono raccogliere la base di codice, biforcarla o contribuire ad essa (soprattutto nell&#8217;open source), allora dobbiamo assicurarci che tutto dei nostri valori hanno valori significativi.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-166044-61e78d8e8d7a0.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-166044-61e78d8e8d7a0.png\" alt=\"Librerie per plugin di WordPress, parte 2\"><\/a><\/p>\n<p>Usare numeri che sono significativi per noi ma non descrivono cosa sta facendo il codice \u00e8 importante, ma non \u00e8 qualcosa che facciamo, giusto? O forse sono solo io.<\/p>\n<p>Ma \u00e8 qui che entra in gioco <a href=\"https:\/\/github.com\/povils\/phpmnd\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPMND<\/a>.<\/p>\n<blockquote>\n<p>phpmnd \u00e8 uno strumento che ti aiuta a rilevare i numeri magici nel codice PHP. Per impostazione predefinita, 0 e 1 non sono considerati numeri magici.<\/p>\n<\/blockquote>\n<p>\u00c8 una libreria semplice ma utilizzata insieme alle librerie in questo post e il post precedente pu\u00f2 aiutare ad aumentare continuamente la qualit\u00e0 del codice che stai contribuendo ai tuoi repository.<\/p>\n<h2>Un altro set di strumenti<\/h2>\n<p>Come accennato nel post precedente, l&#8217;obiettivo a cui sto lavorando \u00e8 come incorporare tutto ci\u00f2 in un <code>composer.json<\/code>file che puoi utilizzare nel tuo progetto.<\/p>\n<p>Ricorda anche che, a seconda del progetto, potresti dover selezionare una versione della libreria in base alla versione di PHP che stai utilizzando.<\/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>Il secondo post di una serie sulle librerie per i plugin di WordPress che io e il mio team utilizziamo quando lavoriamo su soluzioni di alta qualit\u00e0 per gli altri.<\/p>\n","protected":false},"author":1,"featured_media":166045,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[1019,720],"tags":[1168],"class_list":["post-230041","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-siti-utili","category-sviluppatore","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230041","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=230041"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230041\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/166045"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=230041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=230041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=230041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}