Atualmente, estou trabalhando no projeto de verificação padrão de codificação Magento 2.
Existe alguma outra ferramenta disponível, além do PHP_CodeSniffer , para verificar a situação da codificação do Magento 2 e PHP?
Atualmente, estou trabalhando no projeto de verificação padrão de codificação Magento 2.
Existe alguma outra ferramenta disponível, além do PHP_CodeSniffer , para verificar a situação da codificação do Magento 2 e PHP?
Respostas:
Magento 2 usa padrão de codificação ECGM2
Você pode baixar aqui
O padrão de codificação do sniffer de código do Magento do ECG é um conjunto de regras e sniff para a ferramenta PHP_CodeSniffer .
Permite verificar automaticamente seu código em relação a alguns dos problemas comuns de codificação Magento e PHP, como:
e muitos outros.
Magento e Magento 2 são suportados.
Magento 2 usa o padrão de codificação ECGM2:
Instale o padrão de codificação:
cd to/your/magento/install/directory
composer create-project --repository=https://repo.magento.com magento/marketplace-eqp magento-coding-standard
composer require magento/marketplace-eqp
cd magento-coding-standard
Se você receber um erro:
Erro fatal do PHP: Não detectado PHP_CodeSniffer_Exception: O sniff referido "MEQP1.Exceptions.Namespace" não existe
vendor/bin/phpcs --config-set installed_paths ../../..
vendor/bin/phpcs --config-set m2-path <path-to-magento2> ( for eg. sudo vendor/bin/phpcs --config-set m2-path /var/www/html/magento2 )
Teste sua extensão M2:
Para corrigir automaticamente os erros, use phpcbf:
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --no-patch --extensions=php,phtml,xml,css,js
Para o arquivo de exibição
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Para verificar erros / avisos:
vendor/bin/phpcs <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --extensions=phtml,xml,css,js,php
Para o arquivo de exibição
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Solução para alguns avisos disponíveis aqui:
Como corrigir avisos / erros gerados pelo relatório de revisão técnica do Magento Marketplace?
Revisão técnica do Marketplace:
vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
Valide a extensão Magento 2:
Faça o download de "validate_m2_package.php" em https://gist.github.com/alankent/fcf280dd9c599921b71d#file-validate_m2_package_v2-php e coloque-o na raiz do magento:
cd <path-to-magento2>
php validate_m2_package.php Vendor_Module.zip
composer require magento/marketplace-eqp
corrija-o com isso composer config repositories.magento-eqp git https://github.com/magento/marketplace-eqp
. github.com/magento/marketplace-eqp/issues/2
Além de Prince Patels responder ...
O Magento 2 também usa o padrão de codificação PSR-2 , para que você também possa executar phpcs --standard=PSR2 /path/to/module
. Para corrigir "erros" do PSR-2, você pode usar " Embelezador e fixador de código PHP (phpcbf) "
Para mim, isso funciona muito bem ...
Comandos:
phpcbf --standard=PSR2 ./app/
phpcs --report-gitblame=CS-blame --report-source=CS-code --report-full=CS-full ./app/
cat CS-* >> ECG-PSR2 ; rm CS-*
Se você usar git
, poderá adicionar um pre-commit
gancho para executar phpcs
/ phpcbf
automaticamente antes de confirmar suas alterações.
Atualizar:
Não espaccialmente para os padrões de codificação magento, mas ...
phpcbf
com PSR2
eMEQP2
padrãophpcs -s
com os dois padrõesphpmd -s
phpstan -l 7
0.8.5
-s
opção é exibir o nome do sniff ... talvez use ful se você quiser suprimir avisos
Para bons relatórios, sugiro o phpdox . Agrega dados de ...
phploc
phpcs
phpmd
phpunit
Cobertura de códigoAmostra (sem cobertura de código): http://phpdox.de/demo/PHPUnit/index.xhtml
Outras ferramentas: