mrm-commerce / magento-coding-standard-phpcs
MRM Commerce PHP 代码规范检查器设计用于 Magento 2 应用程序
3.0.2
2024-02-22 14:38 UTC
This package is auto-updated.
Last update: 2024-09-22 16:06:40 UTC
README
MrmCommerceMagento2CodingStandard 规则集描述
MrmCommerceMagento2CodingStandard 是此代码规范的核心规则集。它包含来自其他几个代码规范中的规则,例如:
- Magento 2 代码规范 - 官方规范,其中包含的所有规则都自动包含在此处
- PSR-12 - 来自 PHP 标准建议 #12 的规则集,它扩展并取代了 PSR-2 代码风格指南
- PHP 兼容性代码规范 - 用于检查代码与所选 PHP 版本的不兼容性
- 安全审计代码规范 - 用于与安全相关的问题,例如可能的 SQL 注入或不安全函数的使用
- Slevomat 代码规范 - 提供大量功能、清理和格式化嗅探器的先进和可配置的代码规范,旨在使代码更一致、更安全,并更容易阅读和维护。规则集旨在防止 phpcbf (PHP 代码美化器和修复器) 对报告的错误和警告自动进行修复,这可能会导致您的代码停止工作。这意味着您可以使用 phpcbf 在自定义模块中批量修复代码,而不是手动修复每个问题。只需记住,在提交或合并之前始终检查结果。
安装说明
- 确保您的项目的其他依赖项不会与其他依赖项冲突 - 例如,如果您的项目需要
"dealerdirect/phpcodesniffer-composer-installer": "^0.5"
,您可以将其移除(使用composer remove dealerdirect/phpcodesniffer-composer-installer
或直接从composer.json
中移除),因为这个包将安装一个较新版本 - 运行以下命令:
composer require mrm-commerce/magento-coding-standard-phpcs --dev --with-dependencies
- 您应该在输出的末尾看到以下信息,表明已安装包及其依赖项:
PHP CodeSniffer Config installed_paths 设置为 ../../magento/magento-coding-standard,../../mrm-commerce/magento-coding-standard-phpcs,../../mrm-commerce/phpcs-security-audit,../../phpcompatibility/php-compatibility,../../slevomat/coding-standard
- 如果您看到的是“Failed to set PHP CodeSniffer installed_paths Config”错误而不是上面的输出,或者您根本看不到任何与 phpcs 相关的输出,您可以从您的 Magento 根目录手动运行以下命令
cd vendor/squizlabs/php_codesniffer/ php ./bin/phpcs --config-set installed_paths ../../magento/magento-coding-standard,../../mrm-commerce/magento-coding-standard-phpcs,../../mrm-commerce/phpcs-security-audit,../../phpcompatibility/php-compatibility,../../slevomat/coding-standard
使用方法
一旦安装了包,您可以使用以下命令来检查您的代码
php vendor/bin/phpcs --standard=vendor/mrm-commerce/magento-coding-standard-phpcs/MrmCommerceMagento2CodingStandard/ruleset.xml vendor/your-vendor/
作为可选参数,您可以使用 --runtime-set testVersion X.Y
(例如 --runtime-set testVersion 7.4
)来指定检查应针对的 PHP 版本,以便充分利用 PHP 兼容性代码规范
php vendor/bin/phpcs --runtime-set testVersion 7.4 --standard=vendor/mrm-commerce/magento-coding-standard-phpcs/MrmCommerceMagento2CodingStandard/ruleset.xml vendor/your-vendor/
常见问题解答
PHPCS 建议的更改与我在项目中使用的 PHP 版本不兼容
请确保您使用与项目相同版本的 PHP 运行 PHPCS。例如,如果托管您的 Magento 网站的远程服务器运行 PHP 7.3,您不应在本地使用 7.4。一些嗅探器将检测您的 PHP 版本并相应地做出反应。请注意,项目设置中定义的 PHP 版本将被忽略,实际在您的项目上运行的 PHP 版本将被使用。
PHPCBF 自动添加了与我使用的 PHP 版本不兼容的语法
请确保您使用与项目相同版本的 PHP 运行 PHPCBF/PHPCS。一些嗅探器将检测您的 PHP 版本并相应地做出反应。