{"id":232151,"date":"2023-01-03T18:50:00","date_gmt":"2023-01-03T15:50:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232151"},"modified":"2023-01-03T18:53:48","modified_gmt":"2023-01-03T15:53:48","slug":"configurazione-di-php-codesniffer-per-progetto","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/configurazione-di-php-codesniffer-per-progetto\/","title":{"rendered":"Configurazione di PHP CodeSniffer per progetto"},"content":{"rendered":"\n<p>Alcuni anni fa, ho scritto un post sulla <a href=\"https:\/\/tommcfarlin.com\/php-codesniffer-in-visual-studio-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">configurazione di PHP CodeSniffer in Visual Studio Code<\/a> (e l&#8217;ho aggiornato anche di recente).<\/p>\n<p>Ma sono passati quattro anni da quando quel post \u00e8 stato originariamente scritto e, in quel periodo, molte cose possono cambiare in termini di come scriviamo il codice.<\/p>\n<p>Quattro anni sono pi\u00f9 o meno un&#8217;era di Internet, non \u00e8 vero?<\/p>\n<p>Ad ogni modo, i punti di base di quell&#8217;articolo sono ancora validi, ma se stai lavorando su una variet\u00e0 di progetti e alcuni di essi richiedono configurazioni, impostazioni e standard diversi, il modo in cui installi e configuri PHP CodeSniffer potrebbe essere diverso da come lo configuri a livello di sistema.<\/p>\n<p>Quindi, se ti trovi in \u200b\u200bquella posizione, ecco come puoi configurare PHP CodeSniffer in base al progetto usando Visual Studio Code.<\/p>\n<h2>PHP CodeSniffer per progetto<\/h2>\n<p>Questo articolo fa alcune ipotesi:<\/p>\n<ul>\n<li>Hai familiarit\u00e0 con <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">il compositore<\/a> ,<\/li>\n<li>Sai come gestire gli spazi di <a href=\"https:\/\/code.visualstudio.com\/docs\/getstarted\/settings\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">lavoro<\/a> nel codice,<\/li>\n<li>Hai familiarit\u00e0 con <a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP CodeSniffer<\/a> (almeno a livello globale),<\/li>\n<li>E sai come lavorare con le <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ikappas.phpcs\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">estensioni<\/a> di codice .<\/li>\n<\/ul>\n<p>Se non sei sicuro di uno di questi, rivedi <a href=\"https:\/\/tommcfarlin.com\/php-codesniffer-in-visual-studio-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">questo articolo<\/a> e poi torna indietro. Ti guider\u00f2 attraverso il resto.<\/p>\n<h3>1 Installa PHP CodeSniffer localmente<\/h3>\n<p>Poich\u00e9 progetti diversi possono richiedere un insieme diverso di standard, trovo utile conservarne una copia <code>composer.json<\/code>e, naturalmente, <code>composer.lock<\/code>per progetto.<\/p>\n<p>Ci\u00f2 significa che nella radice del mio progetto ho un <code>composer.json<\/code>file con tutto ci\u00f2 di cui ho bisogno per un determinato progetto. Nel caso di questo articolo, ho bisogno di una copia di PHP CodeSniffer.<\/p>\n<p>Per installare PHP CodeSniffer e l&#8217;ultima versione di WordPress Coding Standards a livello di progetto, creer\u00f2 il file sopra nella radice del mio progetto e quindi includer\u00f2 quanto segue:<\/p>\n<pre><code>{\n    \"require\": {\n        \"wp-coding-standards\/wpcs\": \"2.3.0\",\n        \"squizlabs\/php_codesniffer\": \"3.*\"\n    }\n}\n<\/code><\/pre>\n<p>Nella maggior parte dei casi, questo file sar\u00e0 molto pi\u00f9 complesso ma avrai un&#8217;idea generale su cosa devi includere.<\/p>\n<p>Quindi, esegui <code>composer install<\/code>e questo creer\u00e0 una <code>vendor<\/code>directory nel tuo progetto che includer\u00e0 sia gli standard di codifica di WordPress che PHP CodeSniffer.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-158884-61e6e841e56c6.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-158884-61e6e841e56c6.png\" alt=\"Configurazione di PHP CodeSniffer per progetto\"><\/a><\/p>\n<h3>2 Impostare collegamenti simbolici ai binari locali<\/h3>\n<p>A questo punto, potresti trovare utile creare un collegamento simbolico ai binari per PHPCS e PHPCBF in modo da non entrare in conflitto con qualsiasi cosa tu stia eseguendo a livello globale.<\/p>\n<p>Per fare ci\u00f2, nella radice del progetto puoi inserire quanto segue nel tuo terminale:<\/p>\n<pre><code>$ ln -s \/vendor\/bin\/phpcs phpcs\n$ ln -s \/vendor\/bin\/phpcbf phpcbf<\/code><\/pre>\n<p>Ci\u00f2 ti consentir\u00e0 di eseguire i binari dal tuo terminale. Per eseguire il test, prova il seguente comando:<\/p>\n<pre><code>$ .\/phpcs --version<\/code><\/pre>\n<p>E dovresti vedere un output come questo:<\/p>\n<pre><code>PHP_CodeSniffer version 3.5.5 (stable) by Squiz (http:\/\/www.squiz.net)<\/code><\/pre>\n<p>Se \u00e8 cos\u00ec, hai tutto impostato correttamente.<\/p>\n<h3>3 Installare l&#8217;estensione CodeSniffer PHP<\/h3>\n<p>Il passaggio successivo, probabilmente il pi\u00f9 semplice, \u00e8 impostare l&#8217;estensione PHP CodeSniffer in Code. Ci sono un certo numero di opzioni che hai, ma ho avuto una buona esperienza con <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ikappas.phpcs\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">questa particolare estensione<\/a>.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-158884-61e6e847469e5.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-158884-61e6e847469e5.png\" alt=\"Configurazione di PHP CodeSniffer per progetto\"><\/a><\/p>\n<p>Una volta installato e ricaricato il tuo IDE, dovresti essere pronto per installare e configurare PHP CodeSniffer in base al progetto.<\/p>\n<h3>4 Configura il tuo spazio di lavoro<\/h3>\n<p>In Code, la prossima cosa che vorrai fare \u00e8 configurare PHP Code Sniffer per il tuo progetto specifico. Per fare ci\u00f2, \u00e8 pi\u00f9 semplice configurare un&#8217;area di lavoro per il tuo progetto.<\/p>\n<p>Puoi farlo facendo clic sul menu <strong>File<\/strong> e quindi facendo clic sulla voce di menu <strong>Salva spazio di lavoro con nome&#8230;.<\/strong> Questo creer\u00e0 un <code>project.code-workspace<\/code>file ovunque tu scelga di includerlo.<\/p>\n<p>Se stai controllando la versione del tuo progetto, ti consiglio di mantenerlo nella radice del tuo progetto in modo da poterlo mantenere nel controllo della versione. Successivamente, se apri quel file, noterai che \u00e8 JSON e include una <code>settings<\/code>direttiva. All&#8217;interno di tale direttiva, aggiungi le seguenti impostazioni:<\/p>\n<pre><code>project.code-workspace<\/code><\/pre>\n<p>Nota sopra che stiamo dicendo esplicitamente all&#8217;estensione dove si trova il percorso eseguibile, ovvero nella <code>vendor<\/code>directory relativa al <code>workspace<\/code>file.<\/p>\n<p>Dopo averlo fatto, dovresti essere in grado di iniziare a scrivere codice e farlo annusare attivamente il tuo codice mentre lavori.<\/p>\n<h2>Voglio di pi\u00f9?<\/h2>\n<p>Se sei interessato a uno sniffing ancora pi\u00f9 aggressivo e alla correzione di odori e problemi del codice, ti consiglio di consultare <a href=\"https:\/\/wordpress.mediadoma.com\/it\/compositore-per-wordpress-parte-2\/\" title=\"l&#039;articolo su GrumPHP\">l&#8217;articolo su GrumPHP<\/a>.<\/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>Ecco come puoi iniziare a configurare PHP CodeSniffer per progetto usando Composer, Visual Studio Code e vari standard di codifica.<\/p>\n","protected":false},"author":1,"featured_media":236922,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[896,835,804,720,844,794,865],"tags":[1168],"class_list":["post-232151","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-guida-per-principianti","category-php-6","category-sviluppatore","category-tutorial","category-visual-studio-code-6","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/232151","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=232151"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/232151\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/236922"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=232151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=232151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=232151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}