Actualmente estoy trabajando en el proyecto de verificación estándar de codificación Magento 2.
¿Hay alguna otra herramienta disponible, aparte de PHP_CodeSniffer , para verificar el estado de codificación de Magento 2 y PHP?
Actualmente estoy trabajando en el proyecto de verificación estándar de codificación Magento 2.
¿Hay alguna otra herramienta disponible, aparte de PHP_CodeSniffer , para verificar el estado de codificación de Magento 2 y PHP?
Respuestas:
Magento 2 utiliza el estándar de codificación ECGM2
Puedes descargarlo desde aquí
ECG Magento Code Sniffer Coding Standard es un conjunto de reglas y olfateadores para la herramienta PHP_CodeSniffer .
Permite verificar automáticamente su código contra algunos de los problemas comunes de codificación de Magento y PHP, como:
y muchos otros.
Tanto Magento como Magento 2 son compatibles.
Magento 2 utiliza el estándar de codificación ECGM2:
Instalar estándar de codificación:
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
Si obtiene un error:
Error fatal de PHP: no detectado PHP_CodeSniffer_Exception: el sniff referenciado "MEQP1.Exceptions.Namespace" no 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 )
Prueba tu extensión M2:
Para corregir errores automáticamente use phpcbf:
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --no-patch --extensions=php,phtml,xml,css,js
Para ver archivo
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Para verificar errores / advertencias:
vendor/bin/phpcs <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --extensions=phtml,xml,css,js,php
Para ver archivo
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Solución para algunas advertencias disponibles aquí:
Revisión técnica del mercado:
vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
Validar la extensión de Magento 2:
Descargue "validate_m2_package.php" de https://gist.github.com/alankent/fcf280dd9c599921b71d#file-validate_m2_package_v2-php y póngalo en la raíz de magento:
cd <path-to-magento2>
php validate_m2_package.php Vendor_Module.zip
composer require magento/marketplace-eqp
solucionarlo con esto composer config repositories.magento-eqp git https://github.com/magento/marketplace-eqp
. github.com/magento/marketplace-eqp/issues/2
Además de Prince Patels responde ...
Magento 2 también utiliza el estándar de codificación PSR-2 , por lo que también puede ejecutarlo phpcs --standard=PSR2 /path/to/module
. Para corregir los "errores" de PSR-2, puede usar " PHP Code Beautifier and Fixer (phpcbf) "
Para mí esto funciona muy bien ...
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-*
Si lo usa git
, puede agregar un pre-commit
enlace para ejecutar phpcs
/ phpcbf
automáticamente antes de confirmar sus cambios.
Actualizar:
No especialmente para los estándares de codificación de magento, pero es una buena práctica ...
phpcbf
con PSR2
y MEQP2
estándarphpcs -s
con ambos estándaresphpmd -s
phpstan -l 7
0.8.5
-s
la opción es mostrar el nombre de olfateo ... tal vez use ful si desea suprimir las advertencias
Para buenos informes sugeriría phpdox . Agrega datos de ...
phploc
phpcs
phpmd
phpunit
cobertura de códigoMuestra (sin cobertura de código): http://phpdox.de/demo/PHPUnit/index.xhtml
Otras herramientas: