18, 19 e 20 de Outubro de 2019

PHP-CS-FIXER

Automatizando o CodeReview

Alessandro Feitoza

  • Darkmira Fullstack Developer
  • PHP com Rapadura Founder
  • Darkmira Tour PHP Co-Organiser
  • IwTraining Teacher

VAMO
AO
POBREMA

PSR

  • PHP
  • Standards
  • Recommendatios

"Perda de tempo!"

De fato demora um certo tempo pra tá fazendo Code Review dos padrões.

 

Por Isso

PHP-CS-FIXER

  • Open Source
  • Mantido pelo pessoal da SensioLabs
  • Criador principal: Fabien Potencier

Instalação

Como usar

Configurando

.php_cs.dist

Configurando - Finder

.php_cs.dist

<?php

declare(strict_types=1);

$finder = PhpCsFixer\Finder::create();

$csFixer = PhpCsFixer\Config::create();
$csFixer
->setFinder($finder)
->setUsingCache(false)
->setRiskyAllowed(true);

return $csFixer;

Configurando - Finder

.php_cs.dist

<?php

declare(strict_types=1);

$finder = PhpCsFixer\Finder::create();
$finder
  ->in('src')
  ->notPath('index.php');

$csFixer = PhpCsFixer\Config::create();
$csFixer->setFinder($finder);

return $csFixer;

Configurando - Rules

<?php

declare(strict_types=1);

$rules = [
    '@Symfony' => true,
    '@PHP71Migration' => true,
    'array_syntax' => ['syntax' => 'short'],
    'declare_strict_types' => true,
    'void_return' => true,
    'yoda_style' => false,
    'increment_style' => ['style' => 'post'],
];

$csFixer = PhpCsFixer\Config::create();
$csFixer->setRules($rules);

return $csFixer;

Configurando - Completa

<?php

declare(strict_types=1);

$finder = PhpCsFixer\Finder::create();
$finder->in('src')->notPath('index.php');


return PhpCsFixer\Config::create()
    ->setRules([
        '@Symfony' => true,
        '@PHP71Migration' => true,
        'array_syntax' => ['syntax' => 'short'],
        'declare_strict_types' => true,
        'void_return' => true,
        'yoda_style' => false,
        'increment_style' => ['style' => 'post'],
    ])
    ->setFinder($finder)
    ->setUsingCache(false)
    ->setRiskyAllowed(true);

E agora?

Yoda Style

antes

Yoda Style

depois

Void Return

antes

Void Return

depois

Array Syntax

Braces

antes

Braces

depois

combine_consecutive_issets

combine_consecutive_unsets

combine_nested_dirname

declare_strict_types

Onde encontrar mais Regras?

https://mlocati.github.io/php-cs-fixer-configurator/

Dúvidas?

Escama só de peixe!

DevRocks.io

Valeu o bói.

Valeu Vaqueiro

slides.com/alessandrofeitoza

www.alessandrofeitoza.eu

twitter.com/FeitozaAle

Made with Slides.com