現在、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コーディング標準を使用します。
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
エラーが発生した場合:
PHP致命的エラー:キャッチされていないPHP_CodeSniffer_Exception:参照されたスニフ「MEQP1.Exceptions.Namespace」が存在しません
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
ここで利用可能ないくつかの警告の解決策:
マーケットプレイステクニカルレビュー:
vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
Magento 2拡張機能を検証します。
https://gist.github.com/alankent/fcf280dd9c599921b71d#file-validate_m2_package_v2-phpから「validate_m2_package.php」をダウンロードし、magentoのルートに配置します。
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/issues/2
プリンス・パテルスの答えに加えて...
Magento 2 はPSR-2コーディング標準も使用しているため、を実行することもできますphpcs --standard=PSR2 /path/to/module
。PSR-2の「エラー」を修正するには、「PHP Code 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
その他のツール: