<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Paulo Guerra</title>
    <description>The latest articles on DEV Community by Paulo Guerra (@pv_guerra).</description>
    <link>https://dev.to/pv_guerra</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F793461%2F423f8176-daaa-4601-92ef-7da12908c08f.jpg</url>
      <title>DEV Community: Paulo Guerra</title>
      <link>https://dev.to/pv_guerra</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pv_guerra"/>
    <language>en</language>
    <item>
      <title>Instalando e Configurando PHP CodeSniffer (PHPCS)</title>
      <dc:creator>Paulo Guerra</dc:creator>
      <pubDate>Mon, 14 Mar 2022 12:48:40 +0000</pubDate>
      <link>https://dev.to/pv_guerra/phpcs-vscode-phpstorm-59bo</link>
      <guid>https://dev.to/pv_guerra/phpcs-vscode-phpstorm-59bo</guid>
      <description>&lt;p&gt;Repositório Oficial → &lt;a href="https://github.com/squizlabs/PHP_CodeSniffer" rel="noopener noreferrer"&gt;https://github.com/squizlabs/PHP_CodeSniffer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O PHPCS, abreviação para PHP CodeSniffer é uma ferramenta que tem como objetivo detectar violações de padrões de código. &lt;/p&gt;

&lt;p&gt;Esse tutorial busca auxiliar na instalação e configuração do &lt;code&gt;phpcs&lt;/code&gt; nas duas principais ferramentas de desenvolvimento da atualidade para PHP (VSCode e PHPStorm) a fim de conseguir alcançar um bom nivelamento da &lt;strong&gt;PSR12&lt;/strong&gt; em todos nossos projetos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Instalação
&lt;/h2&gt;

&lt;p&gt;O PHPCS precisa de uma versão igual ou superior à 5.4.0.&lt;/p&gt;

&lt;p&gt;Existem algumas maneiras de instalar o PHPCS, conforme indicado na documentação do repositório oficial, entretanto, vamos seguir a com a instalação via Composer Global, pois já foi testada e funciona em qualquer ambiente, Linux, MacOS e Windows (incluindo WSL).&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

composer global require &lt;span class="s2"&gt;"squizlabs/php_codesniffer=*"&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Após instalar, execute o comando abaixo caso precise saber qual o caminho padrão de instalação global do seu composer.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

composer global config bin-dir &lt;span class="nt"&gt;--absolute&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Salve esse caminho.&lt;/p&gt;

&lt;p&gt;Para verificar se o &lt;code&gt;phpcs&lt;/code&gt; foi instalado corretamente, basta executar:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

phpcs &lt;span class="nt"&gt;--version&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  Visual Studio Code
&lt;/h3&gt;

&lt;p&gt;Instale a extensão &lt;code&gt;phpcs&lt;/code&gt; publicada pelo Ioannis Kappas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FtYdL3wS%2Fimage.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FtYdL3wS%2Fimage.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A extensão é bastante configurável, mas a princípio recomendo apenas a seguinte configuração global, para garantir o mesmo padrão em todos os projetos.&lt;/p&gt;

&lt;p&gt;Em &lt;code&gt;settings.json&lt;/code&gt; do VSCode, adicione o seguinte:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

"phpcs.enable": true,
"phpcs.standard": "PSR12",
"phpcs.ignorePatterns": ["*/vendor/*"]


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;E é isso, divirtam-se :)&lt;/p&gt;

&lt;h3&gt;
  
  
  PHP Storm
&lt;/h3&gt;

&lt;p&gt;Acesse as configurações &lt;code&gt;Ctrl+Alt+S&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;PHP &amp;gt; Quality Tools &amp;gt; PHP_CodeSniffer &amp;gt; Local&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Usuários WSL&lt;/strong&gt;: Caso não tenha PHP e Composer instalado no Windows e &lt;em&gt;apenas&lt;/em&gt; no Linux, o interpretador Local não irá funcionar. Nesse caso, é necessário informar um novo interpretador, que será sua distro linux onde o PHP e Composer estão instalados, clicando no ícone &lt;code&gt;+&lt;/code&gt; no canto superior esquerdo.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FWy4fMFs%2Fimage.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FWy4fMFs%2Fimage.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em PHP_CodeSniffer path informe o caminho do phpcs instalado no composer global e clique em &lt;code&gt;Validate&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FGHFjg80%2Fimage.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FGHFjg80%2Fimage.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Se ocorrer tudo bem você receberá um feedback positivo na parte inferior da aba, caso contrário, verifique o caminho informado.&lt;/p&gt;

&lt;p&gt;Selecione &lt;code&gt;Apply&lt;/code&gt; e em seguida &lt;code&gt;PHP_CodeSniffer inspection&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Marque a caixinha para ativar a inspeção nesse projeto e ao lado direito, em &lt;code&gt;Options&lt;/code&gt;, você pode selecionar os arquivos que gostaria que a inspeção ocorra (eu deixei apenas php). Agora o &lt;em&gt;mais importante&lt;/em&gt;, no select de &lt;code&gt;coding standard&lt;/code&gt; escolha &lt;strong&gt;PSR12&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FfGmFNnk%2Fimage.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FfGmFNnk%2Fimage.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;E é isso, um pouco mais complicado do que VSCode, mas tudo certo :)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;P.S&lt;/strong&gt;: Ainda não descobri como deixar padrão para todos os projetos no PHPStorm, ainda é necessário configurar a inspeção para cada projeto individualmente. Caso tenham essa informação comentem e atualizo o tutorial.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>php</category>
      <category>vscode</category>
      <category>phpstorm</category>
      <category>phpcs</category>
    </item>
  </channel>
</rss>
