Corrigir o erro de sniff de compatibilidade PHP referenciado
Existem muitos pacotes legais que podemos usar em nossos projetos baseados em PHP e se você estiver usando Composer ou GrumPHP, PHPCompatibility é um que eu recomendo incluir em seus projetos, especialmente se você estiver escrevendo código para algo que será executado múltiplas versões do PHP (ou seja, em hosts que oferecem versões diferentes).
Este é um conjunto de sniffs para PHP CodeSniffer que verifica a compatibilidade entre versões do PHP. Ele permitirá que você analise seu código para compatibilidade com versões superiores e inferiores do PHP.
Isso é algo que deve ser instalado dentro do composer e é algo que eu recomendo para as pessoas que escrevem código para o WordPress por causa da quantidade de variação que existe em nossos hosts.
Ocasionalmente, porém, você pode ver um problema como este :
ERROR: Referenced sniff "PHPCompatibility" does not exist
E se você executar $ phpcs -i
, poderá receber uma mensagem que não está clara.
Especificamente, se você executar esse comando, poderá ver isto :
The installed coding standards are PEAR, PSR1, Zend, Squiz, PSR12, PSR2, MySource and PHPCompatibility.
Estranho, certo? Mas há uma correção simples e tem a ver com a atualização dos comandos de script pós-instalação e pós-atualização que o Composer oferece.
Para esse fim, podemos empregar as mesmas técnicas para garantir que o PHPCompatibility funcione corretamente se você vir a mensagem. Basta atualizar o seu composer.json
para ficar assim:
"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"
}
Claro, sua milhagem irá variar dependendo da sua configuração real, mas a essência dos comandos deve resolver o problema.