Configurazione di PHP CodeSniffer per progetto
Alcuni anni fa, ho scritto un post sulla configurazione di PHP CodeSniffer in Visual Studio Code (e l’ho aggiornato anche di recente).
Ma sono passati quattro anni da quando quel post è stato originariamente scritto e, in quel periodo, molte cose possono cambiare in termini di come scriviamo il codice.
Quattro anni sono più o meno un’era di Internet, non è vero?
Ad ogni modo, i punti di base di quell’articolo sono ancora validi, ma se stai lavorando su una varietà 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.
Quindi, se ti trovi in quella posizione, ecco come puoi configurare PHP CodeSniffer in base al progetto usando Visual Studio Code.
PHP CodeSniffer per progetto
Questo articolo fa alcune ipotesi:
- Hai familiarità con il compositore ,
- Sai come gestire gli spazi di lavoro nel codice,
- Hai familiarità con PHP CodeSniffer (almeno a livello globale),
- E sai come lavorare con le estensioni di codice .
Se non sei sicuro di uno di questi, rivedi questo articolo e poi torna indietro. Ti guiderò attraverso il resto.
1 Installa PHP CodeSniffer localmente
Poiché progetti diversi possono richiedere un insieme diverso di standard, trovo utile conservarne una copia composer.json
e, naturalmente, composer.lock
per progetto.
Ciò significa che nella radice del mio progetto ho un composer.json
file con tutto ciò di cui ho bisogno per un determinato progetto. Nel caso di questo articolo, ho bisogno di una copia di PHP CodeSniffer.
Per installare PHP CodeSniffer e l’ultima versione di WordPress Coding Standards a livello di progetto, creerò il file sopra nella radice del mio progetto e quindi includerò quanto segue:
{
"require": {
"wp-coding-standards/wpcs": "2.3.0",
"squizlabs/php_codesniffer": "3.*"
}
}
Nella maggior parte dei casi, questo file sarà molto più complesso ma avrai un’idea generale su cosa devi includere.
Quindi, esegui composer install
e questo creerà una vendor
directory nel tuo progetto che includerà sia gli standard di codifica di WordPress che PHP CodeSniffer.
2 Impostare collegamenti simbolici ai binari locali
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.
Per fare ciò, nella radice del progetto puoi inserire quanto segue nel tuo terminale:
$ ln -s /vendor/bin/phpcs phpcs
$ ln -s /vendor/bin/phpcbf phpcbf
Ciò ti consentirà di eseguire i binari dal tuo terminale. Per eseguire il test, prova il seguente comando:
$ ./phpcs --version
E dovresti vedere un output come questo:
PHP_CodeSniffer version 3.5.5 (stable) by Squiz (http://www.squiz.net)
Se è così, hai tutto impostato correttamente.
3 Installare l’estensione CodeSniffer PHP
Il passaggio successivo, probabilmente il più semplice, è impostare l’estensione PHP CodeSniffer in Code. Ci sono un certo numero di opzioni che hai, ma ho avuto una buona esperienza con questa particolare estensione.
Una volta installato e ricaricato il tuo IDE, dovresti essere pronto per installare e configurare PHP CodeSniffer in base al progetto.
4 Configura il tuo spazio di lavoro
In Code, la prossima cosa che vorrai fare è configurare PHP Code Sniffer per il tuo progetto specifico. Per fare ciò, è più semplice configurare un’area di lavoro per il tuo progetto.
Puoi farlo facendo clic sul menu File e quindi facendo clic sulla voce di menu Salva spazio di lavoro con nome…. Questo creerà un project.code-workspace
file ovunque tu scelga di includerlo.
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 è JSON e include una settings
direttiva. All’interno di tale direttiva, aggiungi le seguenti impostazioni:
project.code-workspace
Nota sopra che stiamo dicendo esplicitamente all’estensione dove si trova il percorso eseguibile, ovvero nella vendor
directory relativa al workspace
file.
Dopo averlo fatto, dovresti essere in grado di iniziare a scrivere codice e farlo annusare attivamente il tuo codice mentre lavori.
Voglio di più?
Se sei interessato a uno sniffing ancora più aggressivo e alla correzione di odori e problemi del codice, ti consiglio di consultare l’articolo su GrumPHP.