PHP Coding Standards Fixer

Olá pessoal tudo bem?

Anteriormente fiz um post para demonstrar o uso do PHPCodeSniffer, uma ferramenta muito útil para verificar possíveis erros em nossos códigos, e com isso nos auxiliar a melhora-los. Pois bem hoje vou lhes mostrar outra ferramenta PHP Coding Standards Fixer ou mais conhecido como PHP-CS-Fixer (repositório Github).

Com esta ferramenta poderemos realizar o processo de correção automática para as violações por exemplo da PSR-2, isso mesmo de forma automática!!!

E como isso funciona? Pois bem, Show Me The Code!!!

Instalação

Dispomos de diversas formas para realizar sua instalação, e para este post irei utilizar seu arquivo .phar.

Para obtermos, podemos baixar diretamente do link.

Ou podemos instalar de forma Global:

Manual — wget

$wget http://get.sensiolabs.org/php-cs-fixer.phar -O php-cs-fixer

Manual — CURL

$curl http://get.sensiolabs.org/php-cs-fixer.phar -o php-cs-fixer

Depois devemos conceder as seguintes permissões:

$sudo chmoda+xphp-cs-fixer

$sudo mv php-cs-fixer/usr/local/bin/php-cs-fixer

Para executar basta realizar o seguinte comando:

Global — composer

$./composer.phar globalrequire fabpot/php-cs-fixer

Em seguida, verifique se você executar ~/.composer/fornecedor/bin no seu PATH , e você está pronto para ir:

exportaçãoPATH=” $ PATH : $ HOME /.composer/vendor/bin “

Global — homebrew

brew install homebrew/php/php-cs-fixer

Execução do php-cs.fixer.phar

Tomemos como base o seguinte código:

<?php

namespaceDiego\Generator;

classPDF{

/**

* Title for document PDF.

* @var string

protected$title;

/**

* Paper Orientation

* @example portrait

* @var string

protected$paperOrientation;

/**

* Content text of document PDF

* @var string

protected$text;

/**

* Set data document

* @param array $data array for data of document PDF

publicfunctionsetData($data){

foreach($dataas$key=>$value)

$this->$key=$value;

/**

* Get data document

* @param string $key Referentes the properties of document.

* @return mixed

publicfunctiongetData($key){

return$this->$key;

/**

* The document PDF

* @return Diego\Generator\PDF\PDF;

publicfunctioncreatePDF(){

// code for generate pdf…

Não preciso nem descrever as graves agreções que o código acima inflige nas recomendações das PSR’s, métodos descritos sem formatação, excesso de espaços e total negligencia a endentação de código.

Agora devemos acessar o diretório raiz do projeto, que em nosso caso é onde encontra-se nossa classe que gostaríamos de corrigi-la.

Devemos executar o seguinte comando no terminal:

php php-cs-fixer fix pdf.php

Vamos agora acessar novamente nossa classe para podemor avaliar as mudanças ocorridas.

<?php

namespaceDiego\Generator;

classPDF

/**

* Title for document PDF.

* @var string

protected$title;

/**

* Paper Orientation

* @example portrait

* @var string

protected$paperOrientation;

/**

* Content text of document PDF

* @var string

protected$text;

/**

* Set data document

* @param array $data array for data of document PDF

publicfunctionsetData($data)

foreach($dataas$key=>$value){

$this->$key=$value;

/**

* Get data document

* @param string $key Referentes the properties of document.

* @return mixed

publicfunctiongetData($key)

return$this->$key;

/**

* The document PDF

* @return Diego\Generator\PDF\PDF;

publicfunctioncreatePDF()

// code for generate pdf…

E pronto, temos nossa classe corrigida conforme desejamos, fácil não?!

O que gostaria de reforçar aqui é o seguinte, para quem estiver começando a usar o PHP recomento que use o PHPCodeSnifer, para que assim possa analisar o que está em desacordo em seu código e posteriormente utilizar o PHP-CS-Fixer. E reforço a importância de que esta ferramenta nos auxilia no processo e nunca deve ser usada para corrigir de forma descontrolada o código, em outras palavras, não é desculpa para escrever código de má qualidade!!!

O PHP-CS-FIXER tem uma gama de opções bem extensa, onde vale muito a pena que deem uma olhada para poder desfrutar de maior capacidade da ferramenta.

Alguns Editores e IDE’s dispõem de ferramentas para auxiliar o uso do PPHCS.

Bom por hoje é só pessoal, espero que tenham gostado e que o post tenha acrescentado algo em seu dia, até a próxima 🙂


Originally published at www.diegobrocanelli.com.br on June 6, 2016.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.