Ich arbeite derzeit an einem Magento 2-Projekt zur Überprüfung des Codierungsstandards.
Gibt es ein anderes Tool als PHP_CodeSniffer , um den Stand von Magento 2 und PHP-Codierung zu überprüfen?
Ich arbeite derzeit an einem Magento 2-Projekt zur Überprüfung des Codierungsstandards.
Gibt es ein anderes Tool als PHP_CodeSniffer , um den Stand von Magento 2 und PHP-Codierung zu überprüfen?
Antworten:
Magento 2 verwendet den Kodierungsstandard ECGM2
Sie können von hier herunterladen
Der Magento Code Sniffer Coding Standard für EKGs ist ein Satz von Regeln und Sniffs für das PHP_CodeSniffer- Tool.
Hiermit können Sie Ihren Code automatisch auf einige der häufigsten Probleme mit der Magento- und PHP-Codierung prüfen, z.
und viele andere.
Sowohl Magento als auch Magento 2 werden unterstützt.
Magento 2 verwendet den Kodierungsstandard ECGM2:
Installieren Sie Coding Standard:
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
Wenn Sie eine Fehlermeldung erhalten:
Schwerwiegender PHP-Fehler: Nicht abgefangene PHP_CodeSniffer_Exception: Der referenzierte Sniff "MEQP1.Exceptions.Namespace" existiert nicht
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 )
Testen Sie Ihre M2-Erweiterung:
Verwenden Sie phpcbf, um Fehler automatisch zu korrigieren:
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --no-patch --extensions=php,phtml,xml,css,js
Für Datei anzeigen
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
So überprüfen Sie Fehler / Warnungen:
vendor/bin/phpcs <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --extensions=phtml,xml,css,js,php
Für Datei anzeigen
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Lösung für einige Warnungen finden Sie hier:
Technische Überprüfung des Marktplatzes:
vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
Überprüfen Sie die Magento 2-Erweiterung:
Laden Sie "validate_m2_package.php" von https://gist.github.com/alankent/fcf280dd9c599921b71d#file-validate_m2_package_v2-php herunter und legen Sie es im Stammverzeichnis von magento ab:
cd <path-to-magento2>
php validate_m2_package.php Vendor_Module.zip
composer require magento/marketplace-eqp
beheben Sie dies composer config repositories.magento-eqp git https://github.com/magento/marketplace-eqp
. github.com/magento/marketplace-eqp/issues/2
Neben Prince Patels antworten ...
Magento 2 verwendet auch den Kodierungsstandard PSR-2 , sodass Sie auch ausführen können phpcs --standard=PSR2 /path/to/module
. Zum Beheben von PSR-2 "Fehlern" können Sie " PHP Code Beautifier and Fixer (phpcbf) " verwenden.
Bei mir funktioniert das sehr gut ...
Befehle:
phpcbf --standard=PSR2 ./app/
phpcs --report-gitblame=CS-blame --report-source=CS-code --report-full=CS-full ./app/
cat CS-* >> ECG-PSR2 ; rm CS-*
Wenn Sie verwenden git
, können Sie einen pre-commit
Hook hinzufügen , um phpcs
/ phpcbf
automatisch auszuführen, bevor Sie Ihre Änderungen übernehmen.
Aktualisieren:
Nicht speziell für Magento-Codierungsstandards, aber gute ...
phpcbf
mit PSR2
und MEQP2
Standardphpcs -s
mit beiden standardsphpmd -s
phpstan -l 7
0.8.5
-s
Option ist die Anzeige des Sniff-Namens. Verwenden Sie FUL, wenn Sie Warnungen unterdrücken möchten
Für nette Berichte würde ich phpdox vorschlagen . Es aggregiert Daten von ...
phploc
phpcs
phpmd
phpunit
Code-AbdeckungBeispiel (ohne Codeabdeckung): http://phpdox.de/demo/PHPUnit/index.xhtml
Andere Werkzeuge: