magento-ecg/coding-standard

一组PHP_CodeSniffer规则和嗅探器。

安装次数: 1,287,835

依赖关系: 57

建议者: 0

安全: 0

星星: 309

观察者: 45

分支: 100

开放问题: 0

类型:phpcodesniffer-standard

4.5.4 2023-07-05 15:24 UTC

README

SensioLabsInsight Medal

ECG Magento Code Sniffer Coding Standard 是一套针对 PHP_CodeSniffer 工具的规则和嗅探器。

它允许自动检查您的代码与一些常见的 Magento 和 PHP 编码问题,如

  • 原始 SQL 查询;
  • 循环内的 SQL 查询;
  • 直接实例化 Mage 和 Enterprise 类;
  • 不必要的集合加载;
  • 过度的代码复杂性;
  • 使用危险函数;
  • 使用 PHP Superglobals;

等等。

支持 Magento 和 Magento 2。

安装

在开始使用我们的编码标准之前,安装 PHP_CodeSniffer

PHPCS 的推荐安装方法是全局使用 Composer。

composer global require "squizlabs/php_codesniffer=*"

请确保 Composer 的 bin 目录(默认为 ~/.composer/vendor/bin/)已添加到您的 PATH 中。

在您的计算机上某个位置克隆或下载此存储库,或使用 Composer 安装。

composer require magento-ecg/coding-standard

注意:现在运行我们的编码标准需要 PHP_CodeSniffer 3.x。要安装与 PHP_CodeSniffer 2.x 兼容的版本

composer require magento-ecg/coding-standard:4.*

将 ECG 标准目录添加到 PHP_CodeSniffer 的已安装路径中

$ ./vendor/bin/phpcs --config-set installed_paths /path/to/your/folder/vendor/magento-ecg/coding-standard

您可以通过运行以下命令来检查安装

$ ./vendor/bin/phpcs -i

应该输出以下内容

The installed coding standards are EcgM2, PEAR, Zend, PSR2, MySource, Squiz, PSR1, PSR12 and Magento2

使用 CLI 工具

选择要运行的 CodeSniffer 标准版本:EcgM2 用于 Magento 2

运行 CodeSniffer

$ ./vendor/bin/phpcs --standard=EcgM2,PSR2,Magento2 /path/to/code

此包与 PHPCS 编码标准的 Composer 安装插件兼容(例如 https://github.com/Dealerdirect/phpcodesniffer-composer-installer),可以在安装期间自动与 PHPCS 注册。

要检查设计模板,必须在 --extensions 参数中指定 phtml--extensions=php,phtml

使用 pre-commit 钩子

从现有存储库获取钩子文件。

$ /path/to/your/folder/vendor/magento-ecg/coding-standard/.githooks

在项目上安装钩子。将钩子复制到项目 Git 文件夹

cp -R ./vendor/magento-ecg/coding-standard/.githooks ./

要为所有开发者自动化钩子安装,需要在项目的 composer.json 中包含以下行

    "scripts": {
        "post-install-cmd": [
            "git config core.hooksPath .githooks"
        ],
        "post-update-cmd": [
            "git config core.hooksPath .githooks"
        ]
    }

运行 composer install 以刷新项目状态。

composer install

完成!现在,每个产品的提交都将根据 Magento 编码标准进行验证。

使用 PHPStorm

PhpStorm 通过与 PHP Code Sniffer 工具集成提供代码样式检查,该工具验证您的代码是否与编码标准和最佳实践一致。

一旦在 PhpStorm 中安装并配置了工具,它就可在任何打开的 PHP 文件中使用。PHP Code Sniffer 在线报告的错误和警告将显示为弹出消息。

安装开发编码标准 请参阅安装步骤。

配置 PhpStorm

  • 打开首选项:"设置 > 首选项 > 编辑器 > 检查 > PHP > 质量工具"。
  • 选择 "PHP_CodeSniffer 验证" 选项。
  • 在 "其他一切" 范围内配置一切是正常的
  • 在 "检查文件扩展名" 字段中,提供 PHP Code Sniffer 应检查的逗号分隔的文件扩展名列表:php、js、phtml。
  • 应检查并选择已安装的标准路径和所选项目路径
/path/to/your/folder/vendor/magento-ecg/coding-standard
  • 选择安装的编码标准路径作为标准的主路径
  • 在 "编码标准" 列表中选择 "EcgM2" 或 "自定义"。

PHP Storm

https://www.jetbrains.com/help/phpstorm/using-php-code-sniffer.html#installing-configuring-code-sniffer

注意:我们还建议启用PHP Mess Detector验证。注意:在使用Docker或虚拟机的情况下,需要配置新的PHPCS CLI解释器,使其指向VM/Docker。

要求

PHP 5.4及以上版本。

检查php-5.3-compatible分支以获取PHP 5.3版本。

贡献

请随时贡献新的嗅探器或对现有嗅探器的任何修复或改进。