Зараз я працюю над проектом перевірки стандартного кодування Magento 2.
Чи доступний будь-який інший інструмент, окрім PHP_CodeSniffer , для перевірки кодування Magento 2 та PHP?
Зараз я працюю над проектом перевірки стандартного кодування Magento 2.
Чи доступний будь-який інший інструмент, окрім PHP_CodeSniffer , для перевірки кодування Magento 2 та PHP?
Відповіді:
Magento 2 використовують стандарт кодування ECGM2
Ви можете завантажити тут
ECG Magento Code Sniffer Coding Standard - це набір правил та нюхань для інструменту PHP_CodeSniffer .
Це дозволяє автоматично перевіряти ваш код на деякі поширені проблеми кодування Magento та PHP, наприклад:
та багато інших.
І Magento, і Magento 2 підтримуються.
Magento 2 використовують стандарт кодування ECGM2:
Встановити стандарт кодування:
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
Якщо ви отримаєте помилку:
PHP Фатальна помилка: Uncaught PHP_CodeSniffer_Exception: Посилається нюхати "MEQP1.Exceptions.Npace" не існує
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 )
Тестуйте розширення M2:
Для автоматичного виправлення помилок використовуйте phpcbf:
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --no-patch --extensions=php,phtml,xml,css,js
Для перегляду файлу
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Щоб перевірити помилку / попередження:
vendor/bin/phpcs <path-to-magento2>/app/code/Vendor/Module/Block/ --standard=MEQP2 --extensions=phtml,xml,css,js,php
Для перегляду файлу
vendor/bin/phpcbf <path-to-magento2>/app/code/Vendor/Module/view/frontend/templates --standard=MEQP2 --extensions=php,phtml
Рішення для деяких попереджень можна знайти тут:
Як виправити попередження / помилки, висунуті у звіті про технічний огляд Magento Marketplace?
Технічний огляд ринку:
vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
Підтвердити розширення Magento 2:
Завантажте "validate_m2_package.php" з https://gist.github.com/alankent/fcf280dd9c599921b71d#file-validate_m2_package_v2-php та покладіть його на корінь магенто:
cd <path-to-magento2>
php validate_m2_package.php Vendor_Module.zip
composer require magento/marketplace-eqp
виправте це composer config repositories.magento-eqp git https://github.com/magento/marketplace-eqp
. github.com/magento/marketplace-eqp/isissue/2
Окрім відповіді принца Пателі ...
Magento 2 також використовує стандарт кодування PSR-2 , тому ви також можете запустити phpcs --standard=PSR2 /path/to/module
. Для виправлення PSR-2 "помилок" ви можете використовувати " PHP-кодери " Beautifier and Fixer "(phpcbf) "
Для мене це дуже добре працює ...
Команди:
phpcbf --standard=PSR2 ./app/
phpcs --report-gitblame=CS-blame --report-source=CS-code --report-full=CS-full ./app/
cat CS-* >> ECG-PSR2 ; rm CS-*
Якщо ви користуєтесь git
, ви можете додати pre-commit
гачок для запуску phpcs
/ phpcbf
автоматично, перш ніж вносити зміни.
Оновлення:
Не по суті для стандартів кодування magento, але належна практика ...
phpcbf
з PSR2
і MEQP2
стандартомphpcs -s
з обома стандартамиphpmd -s
phpstan -l 7
0.8.5
-s
Опція полягає в тому, щоб відображати ім'я нюху ... можливо, використовуйте ful, якщо ви хочете придушити попередження
Для приємних звітів я б запропонував phpdox . Він агрегує дані з ...
phploc
phpcs
phpmd
phpunit
покриття кодуЗразок (без покриття коду): http://phpdox.de/demo/PHPUnit/index.xhtml
Інші інструменти: