Em 2014 fiz um post explicando como instalar e configurar o PHPCodeSniffer no Eclipse (Php CodeSniffer validando seu estilo de código PHP no Eclipse), hoje vamos aprender como fazer o mesmo no SublimeText 3.
1. Instalação do Package Control
A forma mais simples de instalar extensões no Sublime é através do Package Control, https://packagecontrol.io/, o gerenciador de pacotes do Sublime. Se você ainda não tem ele instalado, siga as instruções da página de instalação, https://packagecontrol.io/installation, que basicamente é copiar o comando de instalação de acordo com a versão do seu SublimeText no console do Sublime e aguardar o download e instalação. Depois de instalado, o item Pakage Control é adicionado ao menu Preferences.2. Instalação do Plugin Phpcs - PHPCodeSniffer
O plugin utilizado que faz o PHPCodeSniffer funcionar no SublimeText é o Phpcs, https://packagecontrol.io/packages/Phpcs, sua instalação é feita pelo Package Control.Clicando no item Package Control do menu Preferences, a tela do gerenciador de pacotes é aberta.
Ao clicar na opção Install Package, aparece uma caixa de seleção com os pacotes disponíveis para instalação. Basta escrever phpcs e clicar no item que o Package Control faz o resto.
3. Instalar o php-pear e o PHP_CodeSniffer
Com o plugin do Sublime instalado, vamos instalar o "motor" para seu funcionamento. Em primeiro lugar, instalamos o gerenciador de pacotes pear do PHP$ sudo apt install php-pearPor padrão, o PHP Code Sniffer do SublimeText está configurado para trabalhar usando o padrão PSR2, http://www.php-fig.org/psr/psr-2/, que é o padrão atual usado pela maioria dos Frameworks PHP, inclusive o CakePHP 3. Desta forma, após a instalação PHP_CodeSniffer, o plugin do Sublime já estará funcionando.
$ sudo pear install PHP_CodeSnifferCriando um arquivo de teste e uma classe vazia, ao salvá-lo, podemos conferir que o phpcs já está trabalhando.
4. PHP_CodeSniffer e CakePHP 2
No artigo de 2014, acrescentei a instalação do pacote de estilos do CakePHP 2, que não segue a PSR2 e sim um padrão próprio do CakePHP. Hoje, se tentarmos instalar CakePHP_CodeSniffer com o pear depois do PHP_CodeSniffer já instalado, obtemos um erro informando que a versão do CakePHP_CodeSniffer é incompátivel com o PHP_CodeSniffer instaladocakephp/CakePHP_CodeSniffer requires package "pear/PHP_CodeSniffer" (version >= 1.4, version <= 1.5), installed version is 3.2.2Para quem ainda tem projetos usando o CakePHP 2, uma opção é deixar que o PHP_CodeSniffer seja instalado junto com o CakePHP_CodeSniffer deixando que o próprio pear resolva a questão das dependências e instale a versão 1.4 do PHP_CodeSniffer.
No valid packages found
install failed
Então, se temos o PHP_CodeSniffer instalado, precisamos primeiro desinstalá-lo.
$ sudo pear uninstall PHP_CodeSnifferDepois podemos adicionar o canal do pear.cakephp.org, se ainda não o fizemos e instalar diretamente CakePHP_CodeSniffer.
$ sudo pear channel-discover pear.cakephp.org
$ sudo pear install cakephp/CakePHP_CodeSniffer
5. Definindo o estilo padrão
O plugin phpcs permite que o padrão de estilo possa ser trocado a qualquer momento.Mas se quisermos alterar o estilo padrão do CodeSniffer, vamos em Preferences -> PHP Cod Sniffer -> Settings - User e inserimos o padrão CakePHP como valor standard.
Até mais...
Francisco!