Correggi l’errore di sniff di compatibilità PHP di riferimento
Ci sono molti bei pacchetti che possiamo usare nei nostri progetti basati su PHP e se stai usando Composer o GrumPHP, PHPCompatibility è uno che ti consiglio di includere i tuoi progetti soprattutto se stai scrivendo codice per qualcosa che verrà eseguito più versioni di PHP (ovvero su host che offrono versioni diverse).
Questo è un insieme di sniff per PHP CodeSniffer che verifica la compatibilità tra versioni di PHP. Ti consentirà di analizzare il tuo codice per verificarne la compatibilità con le versioni superiori e inferiori di PHP.
Questo è qualcosa che può essere installato all’interno del compositore ed è qualcosa che consiglio alle persone che scrivono codice per WordPress a causa di quanta variazione esiste all’interno dei nostri host.
Occasionalmente, tuttavia, potresti riscontrare un problema come questo :
ERROR: Referenced sniff "PHPCompatibility" does not exist
E se corri $ phpcs -i
potresti ricevere un messaggio non chiaro.
In particolare, se esegui quel comando, potresti vedere questo :
The installed coding standards are PEAR, PSR1, Zend, Squiz, PSR12, PSR2, MySource and PHPCompatibility.
Strano, vero? Ma c’è una soluzione semplice e ha a che fare con l’aggiornamento dei comandi di script post-installazione e post-aggiornamento offerti da Composer.
A tal fine, possiamo impiegare le stesse tecniche per garantire che PHPCompatibility funzioni correttamente se mai vedi il messaggio. Aggiorna semplicemente il tuo composer.json
per assomigliare a questo:
"require-dev": {
"phpcompatibility/php-compatibility": "*"
},
"prefer-stable": true,
"scripts": {
"post-install-cmd": ""vendor/bin/phpcs" --config-set installed_paths vendor/phpcompatibility/php-compatibility",
"post-update-cmd": ""vendor/bin/phpcs" --config-set installed_paths vendor/phpcompatibility/php-compatibility"
}
Naturalmente, il tuo chilometraggio varierà a seconda della tua configurazione effettiva, ma l’essenza dei comandi dovrebbe risolvere il problema.