Obecnie pracuję nad projektem sprawdzania standardu kodowania Magento 2.
Czy dostępne jest inne narzędzie, oprócz PHP_CodeSniffer , do sprawdzania Magento 2 i kodowania PHP na stojąco?
Obecnie pracuję nad projektem sprawdzania standardu kodowania Magento 2.
Czy dostępne jest inne narzędzie, oprócz PHP_CodeSniffer , do sprawdzania Magento 2 i kodowania PHP na stojąco?
Odpowiedzi:
Magento 2 wykorzystuje standard kodowania ECGM2
Możesz pobrać stąd
ECG Magento Code Sniffer Coding Standard to zestaw reguł i sniffów dla narzędzia PHP_CodeSniffer .
Umożliwia automatyczne sprawdzenie kodu pod kątem niektórych typowych problemów z kodowaniem Magento i PHP, takich jak:
i wiele innych.
Obsługiwane są zarówno Magento, jak i Magento 2.
Magento 2 wykorzystuje standard kodowania ECGM2:
Zainstaluj 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
Jeśli pojawi się błąd:
Błąd krytyczny PHP: Uncaught PHP_CodeSniffer_Exception: Referenced sniff „MEQP1.Exceptions.Namespace” nie istnieje
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 )
Przetestuj swoje rozszerzenie M2:
Aby automatycznie poprawić błędy, użyj phpcbf:
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --no-patch --extensions=php,phtml,xml,css,js
Aby wyświetlić plik
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Aby sprawdzić błąd / ostrzeżenia:
vendor/bin/phpcs <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --extensions=phtml,xml,css,js,php
Aby wyświetlić plik
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Rozwiązanie niektórych ostrzeżeń dostępnych tutaj:
Przegląd techniczny rynku:
vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
Zatwierdź rozszerzenie Magento 2:
Pobierz „validate_m2_package.php” ze strony https://gist.github.com/alankent/fcf280dd9c599921b71d#file-validate_m2_package_v2-php i umieść go w katalogu głównym Magento:
cd <path-to-magento2>
php validate_m2_package.php Vendor_Module.zip
composer require magento/marketplace-eqp
napraw to composer config repositories.magento-eqp git https://github.com/magento/marketplace-eqp
. github.com/magento/marketplace-eqp/issues/2
Oprócz odpowiedzi Prince Patels ...
Magento 2 używa również standardu kodowania PSR-2 , więc możesz także uruchamiać phpcs --standard=PSR2 /path/to/module
. Aby naprawić błędy „PSR-2” PSR-2, możesz użyć „ Beautifier and Fixer PHP Code (phpcbf) ”
Dla mnie to działa bardzo dobrze ...
Polecenia:
phpcbf --standard=PSR2 ./app/
phpcs --report-gitblame=CS-blame --report-source=CS-code --report-full=CS-full ./app/
cat CS-* >> ECG-PSR2 ; rm CS-*
Jeśli używasz git
, możesz dodać pre-commit
zaczep, aby uruchomić phpcs
/ phpcbf
automatycznie przed zatwierdzeniem zmian.
Aktualizacja:
Nie specjalnie dla standardów kodowania Magento, ale dobra praktyka imho ...
phpcbf
z PSR2
i MEQP2
standardphpcs -s
z obu standardówphpmd -s
phpstan -l 7
0.8.5
-s
opcją jest wyświetlenie nazwy wąchania ... może użyć ful, jeśli chcesz ukryć ostrzeżenia
Dla miłych raportów sugerowałbym phpdox . Agreguje dane z ...
phploc
phpcs
phpmd
phpunit
Pokrycie koduPrzykład (bez pokrycia kodu): http://phpdox.de/demo/PHPUnit/index.xhtml
Inne narzędzia: