Análise estática e qualidade de código
O template de aplicação Yii inclui ferramentas de análise estática e de qualidade de código junto com a suíte de testes.
Psalm
Execute o Psalm localmente:
vendor/bin/psalmExecute o Psalm no Docker:
make psalmO template guarda a configuração do Psalm em psalm.xml. O workflow do GitHub Actions executa o Psalm nas versões de PHP suportadas.
Quando o Psalm reportar um problema, corrija o código ou adicione uma anotação de tipo precisa. Mantenha as supressões restritas e locais à linha ou ao método que precisa delas.
Composer Dependency Analyser
O Composer Dependency Analyser verifica se o composer.json corresponde às classes usadas pela aplicação.
Execute-o localmente:
vendor/bin/composer-dependency-analyser --config=composer-dependency-analyser.phpExecute-o no Docker:
make composer-dependency-analyserUse essa verificação depois de adicionar ou remover o uso de pacotes em src, config ou tests.
PHP CS Fixer
O PHP CS Fixer aplica o estilo de código do projeto definido em .php-cs-fixer.php.
Execute-o localmente:
vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php --diffExecute-o no Docker:
make cs-fixFaça o commit das mudanças de formatação junto com o código que as exige.
Rector
O Rector aplica as atualizações e refatorações de código configuradas em rector.php.
Visualize as mudanças localmente:
vendor/bin/rector --dry-runAplique as mudanças localmente:
vendor/bin/rectorExecute-o no Docker:
make rectorRevise as mudanças do Rector antes de fazer o commit. A refatoração automatizada pode alterar o comportamento quando regras personalizadas ou caminhos amplos estão configurados.
Verificações de pull request
Uma verificação local prática antes de abrir um pull request é:
APP_ENV=test vendor/bin/codecept build
APP_ENV=test vendor/bin/codecept run
vendor/bin/psalm
vendor/bin/composer-dependency-analyser --config=composer-dependency-analyser.php
vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php --diffCom Docker:
make codecept build
make test
make psalm
make composer-dependency-analyser
make cs-fix