Como excluir arquivos do PHP CodeSniffer
Quando você está trabalhando com PHP CodeSniffer e está fazendo isso no terminal, provavelmente está procurando gerar erros em algo diferente do seu IDE.
Quer dizer, se esse fosse o caso, você teria apenas rodando no seu editor, certo?
Mas há momentos em que você pode estar interessado em encontrar os problemas no código de outras pessoas. Talvez seja uma dependência, talvez seja um software de terceiros, ou talvez seja um favor.
Seja qual for o caso, se você configurou o diretório do projeto de uma maneira que usa o Composer para incluir o PHP CodeSniffer e está usando os Padrões de codificação do WordPress, provavelmente precisará excluir arquivos do PHP CodeSniffer ao executar o programa.
E é assim que você pode fazer isso.
Antes de entrar nos comandos que são necessários, suponho que você tenha uma configuração de diretório mais ou menos assim:
Uma estrutura de diretório potencial.
Ou seja, você tem:
- um monte de arquivos PHP (e subdiretórios contendo arquivos PHP),
- um arquivo composer.json para trazer o PHP CodeSniffer para o projeto
- um diretório de fornecedor que inclui as dependências do PHP CodeSniffer
Se você tiver os Padrões de Codificação do WordPress instalados, mas não os tiver configurado para PHP CodeSniffer, emita este comando:
$ ./vendor/bin/phpcs --config-set installed_paths ~/path/to/wpcs
Então aqui está o problema:
Você deseja excluir arquivos do PHP CodeSniffer, mas você tem muitos arquivos para farejar (ou seja, desde que você introduziu o diretório do fornecedor). Como excluímos arquivos do PHP CodeSniffer enquanto ainda obtemos os resultados que queremos?
Você precisa de alguns comandos adicionais:
- certifique-se de ter incluído os Padrões de codificação do WordPress como parte da configuração,
- diga explicitamente ao PHP CodeSniffer para usar o padrão WordPress
- diga ao PHP CodeSniffer quais diretórios ignorar e quais arquivos processar
Parece complicado? O comando é muito fácil:
$ ./vendor/bin/phpcs --ignore=*/vendor/* --standard=WordPress .
E o terminal deve ficar assim:
O resultado líquido de farejar apenas arquivos PHP para o diretório atual.
Neste ponto, você deve conseguir visualizar os erros em seu terminal (esperamos que não haja nenhum, certo? 😏) ou você pode canalizá-los para outro arquivo para revisar em outro aplicativo ou em uma data posterior.
