我目前正在从事Magento 2编码标准检查项目。
除了PHP_CodeSniffer之外,是否还有其他工具可用来检查Magento 2和PHP编码状态?
我目前正在从事Magento 2编码标准检查项目。
除了PHP_CodeSniffer之外,是否还有其他工具可用来检查Magento 2和PHP编码状态?
Answers:
Magento 2使用ECGM2编码标准
您可以从这里下载
ECG Magento代码嗅探器编码标准是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致命错误:未捕获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
用this进行修复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代码美化和修复程序(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
其他工具: