{"id":23339,"date":"2021-04-28T17:21:00","date_gmt":"2021-04-28T14:21:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=23339"},"modified":"2021-10-18T03:22:21","modified_gmt":"2021-10-18T00:22:21","slug":"php_codesniffer-una-libreria-per-migliorare-i-tuoi-standard-di-codifica-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/php_codesniffer-una-libreria-per-migliorare-i-tuoi-standard-di-codifica-php\/","title":{"rendered":"PHP_CodeSniffer &#8211; Una libreria per migliorare i tuoi standard di codifica PHP"},"content":{"rendered":"<p>Vuoi migliorare i tuoi standard di codifica PHP? Ovviamente s\u00ec. Non importa che tu sia uno sviluppatore PHP pi\u00f9 fresco o esperto, tutti desiderano migliorare i propri standard di codifica.<\/p>\n<p>Ma come?<\/p>\n<p>Bene, ci sono diverse risorse disponibili su Internet che puoi leggere e iniziare a implementare.<\/p>\n<p>C&#8217;\u00e8 un&#8217;altra soluzione che non richiede di leggere sulla codifica standard. Invece, ti d\u00e0 suggerimenti per migliorare il tuo runtime standard esaminando il tuo file PHP. In questo modo \u00e8 migliore in quanto otterrai il suggerimento chiaro insieme al numero di riga.<\/p>\n<h3>Introduzione a PHP_CodeSniffer<\/h3>\n<p>Come suggerisce il nome, <a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP_CodeSniffer<\/a> fiuta il codice nei tuoi file o cartelle. Ovunque, sente l&#8217;odore del codice errato che ti fornisce un rapporto su dove si trova il codice errato e quali passaggi dovresti intraprendere per correggerlo. PHP_CodeSniffer agisce come il tuo correttore di codice PHP.<\/p>\n<p>\u00c8 una libreria altamente consigliata per un programmatore PHP. Mentre lavori su un progetto PHP, non dovresti consegnare il tuo codice al client finale finch\u00e9 non hai finito con gli standard di codifica PHP suggeriti da PHP_CodeSniffer.<\/p>\n<p>Dopotutto, il programmatore PHP dovrebbe fornire un codice migliore e PHP_CodeSniffer ti aiuta per una migliore codifica.<\/p>\n<h3>Installa PHP_CodeSniffer usando Composer<\/h3>\n<p><a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> \u00e8 un gestore delle dipendenze per PHP. Ti permette di installare\/aggiornare la libreria di cui hai bisogno per il tuo progetto.<\/p>\n<p>Puoi installare PHP_CodeSniffer nella directory principale del tuo progetto. Tuttavia, ti consiglio di creare una cartella &quot;php_codesniffer&quot; nella directory principale e installare la libreria all&#8217;interno di questa cartella.<\/p>\n<p>Per installare PHP_CodeSniffer utilizzando il compositore, apri il prompt dei comandi nella directory &quot;php_codesniffer&quot; ed esegui il comando seguente.<\/p>\n<p><code>composer require \"squizlabs\/php_codesniffer=*\"<\/code><\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer - Una libreria per migliorare i tuoi standard di codifica PHP\" ><\/a><\/p>\n<h3>Controlliamo i nostri standard di codifica PHP<\/h3>\n<p>Quindi, vai alla <code>php_codesniffer\/vendor\/bin<\/code>directory dal prompt dei comandi. Da questa cartella bin, controlleremo i nostri standard di codifica PHP rispetto a PHP_CodeSniffer.<\/p>\n<p>Ad esempio, supponiamo di avere un file chiamato index.php nel tuo progetto. Il mio file index.php contiene il codice seguente.<\/p>\n<pre><code>&lt;?php\nrequire_once (\"vendor\/autoload.php\");\nrequire_once (\"config.php\");\n\u00a0\nTinifysetKey(TINIFY_KEY);\n\u00a0\n$source = TinifyfromFile(\"large.jpg\");\n$resized = $source-&gt;resize(\n\u00a0\u00a0\u00a0\u00a0array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"method\" =&gt; \"cover\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"width\" =&gt; 150,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"height\" =&gt; 100\n\u00a0\u00a0\u00a0\u00a0));\n$resized-&gt;toFile(\"thumbnail1.jpg\");\n\u00a0\necho \"Image resized.\";\n\u00a0\n$bool = true;\n?&gt;<\/code><\/pre>\n<p>Questo codice utilizzato per <a href=\"https:\/\/themewp.inform.click\/it\/ridimensiona-l-immagine-in-php-usando-tinypng\/\" title=\"ridimensionare l&#039;immagine in PHP utilizzando la libreria TinyPNG\">ridimensionare l&#8217;immagine in PHP utilizzando la libreria TinyPNG<\/a>. Il nostro codice funziona correttamente e fornisce un risultato atteso. Ma abbiamo perso alcuni standard di codifica nel nostro file.<\/p>\n<p>Scopriamo quale standard ci manca nel file di cui sopra.<\/p>\n<p>Verificheremo questo file rispetto a PHP_CodeSniffer eseguendo il comando seguente.<\/p>\n<p><code>phpcs --standard=PEAR \/path\/to\/your\/file<\/code><\/p>\n<p>Stiamo lavorando su Windows, quindi nel nostro caso, un comando sarebbe il seguente.<\/p>\n<p><code>phpcs --standard=PEAR D:wampwwwapitinypngindex.php<\/code><\/p>\n<p>Qui &#8216;\u2013standard=PEAR&#8217; significa che il nostro file verr\u00e0 confrontato con lo standard impostato da <a href=\"https:\/\/pear.php.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PEAR<\/a>.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer - Una libreria per migliorare i tuoi standard di codifica PHP\" ><\/a><\/p>\n<p>Dopo aver eseguito il comando precedente, abbiamo riscontrato alcuni errori sugli standard di codifica.<\/p>\n<h3>Correggi il codice utilizzando le linee guida<\/h3>\n<p>Facciamo un esempio di errore.<\/p>\n<p>Il secondo errore che dice &#8216;require_once&#8217; \u00e8 un&#8217;istruzione, non una funzione: non sono necessarie parentesi<\/p>\n<p>Con questo errore, veniamo a conoscenza dello standard per l&#8217;inclusione di file esterni.<\/p>\n<p>Il nostro codice qui sotto<\/p>\n<pre><code>require_once (\"vendor\/autoload.php\");\nrequire_once (\"config.php\");<\/code><\/pre>\n<p>dovrebbe sostituire con<\/p>\n<pre><code>require_once \"vendor\/autoload.php\";\nrequire_once \"config.php\";<\/code><\/pre>\n<p>Questo \u00e8 un esempio di correzione del codice. Nel tuo caso, potresti trovare altri errori. Dovresti correggerlo seguendo le istruzioni che hai ricevuto.<\/p>\n<p>La libreria PHP_CodeSniffer fornisce un comando che corregge automaticamente le violazioni degli standard di codifica. Ricorda, questo comando non corregge tutti gli errori. Si occuper\u00e0 di alcuni errori minori come il rientro, le parentesi chiuse, ecc.<\/p>\n<p>Se guardi lo screenshot qui sopra, noterai che nel nostro file sono stati trovati 7 errori in totale. Dopo l&#8217;elenco degli errori, vedere la riga<\/p>\n<p>&#8216;PHPCBF&#8217; PU RISOLVERE AUTOMATICAMENTE LE 6 VIOLAZIONI SNIFF SEGNATE<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer - Una libreria per migliorare i tuoi standard di codifica PHP\" ><\/a><\/p>\n<p>Primo errore relativo al commento del file mancante, dobbiamo occuparci di questo commento al documento. Il comando &#8216;PHPCBF&#8217; non lo corregger\u00e0.<\/p>\n<p>Detto questo, scriviamo il comando per esso.<\/p>\n<p><code>phpcbf --standard=PEAR D:wampwwwapitinypngindex.php<\/code><\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer - Una libreria per migliorare i tuoi standard di codifica PHP\" ><\/a><\/p>\n<p>Nello screenshot, puoi vedere che ha risolto 6 errori e 1 \u00e8 rimasto. L&#8217;errore rimanente \u00e8 correlato al commento del documento del file.<\/p>\n<p>Quindi, aggiungeremo il file commentando e il nostro codice finale sar\u00e0 il seguente.<\/p>\n<pre><code>&lt;?php\n\/**\n\u00a0* This file will generate the resize version of an image\n\u00a0*\n\u00a0* PHP version 5.6.25\n\u00a0*\n\u00a0* @category Resize_Image\n\u00a0* @package\u00a0 TinyPNG\n\u00a0* @author\u00a0\u00a0 Sajid &lt;sajid@artisansweb.net&gt;\n\u00a0* @license\u00a0 http:\/\/www.php.net\/license\/3_01.txt\u00a0 PHP License 3.01\n\u00a0* @link\u00a0\u00a0\u00a0\u00a0 https:\/\/artisansweb.net\/resize-image-php-using-tinypng\n\u00a0*\/\nrequire_once \"vendor\/autoload.php\";\nrequire_once \"config.php\";\n\u00a0\nTinifysetKey(TINIFY_KEY);\n\u00a0\n$source = TinifyfromFile(\"large.jpg\");\n$resized = $source-&gt;resize(\n\u00a0\u00a0\u00a0\u00a0array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"method\" =&gt; \"cover\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"width\" =&gt; 150,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"height\" =&gt; 100\n\u00a0\u00a0\u00a0\u00a0)\n);\n$resized-&gt;toFile(\"thumbnail1.jpg\");\n\u00a0\necho \"Image resized.\";\n\u00a0\n$bool = true;\n?&gt;<\/code><\/pre>\n<p>Ora, se eseguiamo lo script &#8216;phpcs&#8217; non otterremo alcun errore degli standard di codifica PHP.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer - Una libreria per migliorare i tuoi standard di codifica PHP\" ><\/a><\/p>\n<p><strong>Nota:<\/strong> PHP_CodeSniffer convalida anche i tuoi file JS e CSS.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vuoi migliorare i tuoi standard di codifica PHP? PHP_CodeSniffer \u00e8 una libreria che ti aiuta a migliorare gli standard di codifica. In questo articolo studiamo<\/p>\n","protected":false},"author":1,"featured_media":21909,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[276],"tags":[846],"class_list":["post-23339","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-7","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/23339","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=23339"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/23339\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/21909"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=23339"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=23339"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=23339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}