mage/magento-coding-standard

一套针对 Magento 的特定 PHP CodeSniffer 规则。

安装数量 : 9,784,922

依赖关系: 235

建议: 1

安全性: 0

星标: 341

关注者: 360

分支: 153

开放问题: 84

类型:phpcodesniffer-standard

34 2024-09-06 17:21 UTC

This package is auto-updated.

Last update: 2024-09-10 15:18:58 UTC


README

针对 PHP_CodeSniffer 工具的 Magento 规则集。

在 Magento 2 网站内安装

要在您的 Magento 2 项目中使用,您可以使用

composer require --dev magento/magento-coding-standard

由于安全原因,以这种方式安装时,无法自动添加 phpcs 的 Magento 标准。您可以通过将以下内容添加到项目中的 composer.json 来实现此目的

"scripts": {
    "post-install-cmd": [
      "([ $COMPOSER_DEV_MODE -eq 0 ] || vendor/bin/phpcs --config-set installed_paths ../../magento/magento-coding-standard/)"
    ],
    "post-update-cmd": [
      "([ $COMPOSER_DEV_MODE -eq 0 ] || vendor/bin/phpcs --config-set installed_paths ../../magento/magento-coding-standard/)"
    ]
}

开发环境安装

您可以通过克隆此 GitHub 仓库来安装 Magento Coding Standard

git clone [email protected]:magento/magento-coding-standard.git
cd magento-coding-standard
composer install

您还可以通过 Composer 安装独立应用程序

composer create-project magento/magento-coding-standard --stability=dev magento-coding-standard

验证安装

命令应返回包括 Magento2 在内的已安装编码标准的列表

vendor/bin/phpcs -i

使用方法

安装完成后,您可以从命令行运行 phpcs 来分析您的代码 MyAwesomeExtension

vendor/bin/phpcs --standard=Magento2 app/code/MyAwesomeExtension

自动修复问题

您还可以从命令行运行 phpcbf 来修复您的代码 MyAwesomeExtension,例如,对于类似“PHPCBF 可以自动修复 [0-9]+ 个标记的嗅探违规”的警告

vendor/bin/phpcbf --standard=Magento2 app/code/MyAwesomeExtension

贡献

请参阅社区 贡献模式

贡献的地方

  • 现有规则的文档。以 ExtDN PHP CodeSniffer 规则 for Magento 2 为例。
  • 现有规则的错误修复和改进。
  • 创建新的 PHP CodeSniffer 规则。
  • 关于新规则讨论(通过定期在线会议或通过 GitHub 问题进行的讨论)。

如何贡献

  1. 从查看 社区仪表板 开始。任何在 Up for grabs 中的条目都是开始的好候选。
  2. 没有满足您的需求? 创建三种类型之一的问题
    • 错误报告 - 在代码中发现了错误?告诉我们!
    • 现有规则增强 - 知道如何改进现有规则?打开一个问题,描述如何增强 Magento Coding Standard。
    • 新规则提案 - 知道如何提高 Magento 生态系统代码质量?请毫不犹豫地提出建议。
  3. 问题将出现在 社区仪表板Backlog 列表中。一旦讨论并通过 accepted 标签,问题将出现在 Up for grabs 列表中。

测试

所有规则都应该由单元测试覆盖。每个 Test.php 类都应该有一个相应的 Test.inc 文件,以便基于 PHP_CodeSniffer 父类 AbstractSniffUnitTest 进行单元测试。您可以通过运行以下命令来验证您的代码

vendor/bin/phpunit

还要验证嗅探器代码本身是根据 Magento Coding Standard 编写的

vendor/bin/phpcs --standard=Magento2 Magento2/ --extensions=php

ESLint

前提条件: Node.js (^12.22.0, ^14.17.0>=16.0.0)。

您需要运行以下命令来安装 package.json 文件中描述的所有必要软件包

npm install

您可以按照以下方式执行 ESLint

npm run eslint -- path/to/analyze

RECTOR PHP

magento-coding-standard 项目,您可以按照以下方式执行 rector php

vendor/bin/rector process Magento2 Magento2Framework PHP_CodeSniffer --dry-run --autoload-file vendor/squizlabs/php_codesniffer/autoload.php

应用的rector规则设置在配置文件中:rector.php

选项--dry-run显示找到的错误,但不会自动修复代码。

要为magento项目运行rector,您需要

  • 指定magento项目的路径和autoload文件
vendor/bin/rector process MAGENTO_PATH --dry-run --autoload-file MAGENTO_AUTOLOAD_FILE

示例

vendor/bin/rector process magento2ce/app/code/Magento/Cms/Model --dry-run --autoload-file magento2ce/vendor/autoload.php

许可证

本发行版中包含的每个Magento源文件均根据OSL-3.0许可证授权。

有关LICENSE.txt的完整内容,请参阅开放源代码许可证第3版(OSL-3.0)