Je travaille actuellement sur le projet de vérification de la norme de codage Magento 2.
Existe-t-il un autre outil, autre que PHP_CodeSniffer , pour vérifier la position du codage Magento 2 et PHP?
Je travaille actuellement sur le projet de vérification de la norme de codage Magento 2.
Existe-t-il un autre outil, autre que PHP_CodeSniffer , pour vérifier la position du codage Magento 2 et PHP?
Réponses:
Magento 2 utilise la norme de codage ECGM2
Vous pouvez télécharger ici
ECG Magento Code Sniffer Coding Standard est un ensemble de règles et renifle pour l' outil PHP_CodeSniffer .
Il permet de vérifier automatiquement votre code par rapport à certains des problèmes courants de codage Magento et PHP, tels que:
et plein d'autres.
Magento et Magento 2 sont pris en charge.
Magento 2 utilise la norme de codage ECGM2:
Installez la norme de codage:
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 vous obtenez une erreur:
Erreur fatale PHP: Uncaught PHP_CodeSniffer_Exception: sniff référencé "MEQP1.Exceptions.Namespace" n'existe pas
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 )
Testez votre extension M2:
Pour corriger automatiquement les erreurs, utilisez phpcbf:
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --no-patch --extensions=php,phtml,xml,css,js
Pour afficher le fichier
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Pour vérifier les erreurs / avertissements:
vendor/bin/phpcs <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --extensions=phtml,xml,css,js,php
Pour afficher le fichier
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Solution pour certains avertissements disponible ici:
Revue technique du marché:
vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
Validez l'extension Magento 2:
Téléchargez "validate_m2_package.php" depuis https://gist.github.com/alankent/fcf280dd9c599921b71d#file-validate_m2_package_v2-php et mettez-le à la racine de magento:
cd <path-to-magento2>
php validate_m2_package.php Vendor_Module.zip
composer require magento/marketplace-eqp
corrigez-le avec cela composer config repositories.magento-eqp git https://github.com/magento/marketplace-eqp
. github.com/magento/marketplace-eqp/issues/2
En plus de Prince Patels réponse du ...
Magento 2 utilise également la norme de codage PSR-2 , vous pouvez donc également exécuter phpcs --standard=PSR2 /path/to/module
. Pour corriger les "erreurs" du PSR-2, vous pouvez utiliser " PHP Code Beautifier and Fixer (phpcbf) "
Pour moi, cela fonctionne très bien ...
Commandes:
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 vous utilisez git
, vous pouvez ajouter un pre-commit
hook à exécuter phpcs
/ phpcbf
automatiquement avant de valider vos modifications.
Mise à jour:
Pas spécialement pour les normes de codage magento, mais à mon humble avis ...
phpcbf
avec PSR2
et MEQP2
standardphpcs -s
avec les deux normesphpmd -s
phpstan -l 7
0.8.5
-s
l'option est d'afficher le nom de sniff ... peut-être utiliser ful si vous voulez supprimer les avertissements
Pour de bons rapports, je suggère phpdox . Il regroupe les données de ...
phploc
phpcs
phpmd
phpunit
couverture de codeExemple (sans couverture de code): http://phpdox.de/demo/PHPUnit/index.xhtml
Autres outils: