mrm-commerce/magento-coding-standard-phpcs

MRM Commerce PHP 代码规范检查器设计用于 Magento 2 应用程序

安装量: 31,639

依赖者: 0

建议者: 0

安全: 0

星标: 46

关注者: 5

分支: 6

开放性问题: 2

类型:phpcodesniffer-standard

3.0.2 2024-02-22 14:38 UTC

README

MrmCommerceMagento2CodingStandard 规则集描述

MrmCommerceMagento2CodingStandard 是此代码规范的核心规则集。它包含来自其他几个代码规范中的规则,例如:

  • Magento 2 代码规范 - 官方规范,其中包含的所有规则都自动包含在此处
  • PSR-12 - 来自 PHP 标准建议 #12 的规则集,它扩展并取代了 PSR-2 代码风格指南
  • PHP 兼容性代码规范 - 用于检查代码与所选 PHP 版本的不兼容性
  • 安全审计代码规范 - 用于与安全相关的问题,例如可能的 SQL 注入或不安全函数的使用
  • Slevomat 代码规范 - 提供大量功能、清理和格式化嗅探器的先进和可配置的代码规范,旨在使代码更一致、更安全,并更容易阅读和维护。规则集旨在防止 phpcbf (PHP 代码美化器和修复器) 对报告的错误和警告自动进行修复,这可能会导致您的代码停止工作。这意味着您可以使用 phpcbf 在自定义模块中批量修复代码,而不是手动修复每个问题。只需记住,在提交或合并之前始终检查结果。

安装说明

  1. 确保您的项目的其他依赖项不会与其他依赖项冲突 - 例如,如果您的项目需要 "dealerdirect/phpcodesniffer-composer-installer": "^0.5",您可以将其移除(使用 composer remove dealerdirect/phpcodesniffer-composer-installer 或直接从 composer.json 中移除),因为这个包将安装一个较新版本
  2. 运行以下命令: composer require mrm-commerce/magento-coding-standard-phpcs --dev --with-dependencies
  3. 您应该在输出的末尾看到以下信息,表明已安装包及其依赖项: 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
  4. 如果您看到的是“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 版本并相应地做出反应。