spaceonfire/easy-coding-standard-bridge

此包已被弃用且不再维护。作者建议使用getwarp/easy-coding-standard-bridge包。

spaceonfire的Easy Coding Standard Bridge

2.5.2 2021-09-25 09:51 UTC

This package is auto-updated.

Last update: 2022-06-12 16:28:02 UTC


README

Latest Version on Packagist Software License Total Downloads

安装

安装开发依赖

composer require --dev spaceonfire/easy-coding-standard-bridge symplify/easy-coding-standard symfony/var-exporter

composer.json中添加脚本

{
    "scripts": {
        "codestyle": "@php -d xdebug.mode=off `which ecs` check --ansi"
    }
}

使用

要复制Easy Coding Standard和EditorConfig的基本配置,请执行以下命令。

vendor/bin/ecs-init.php

之后,您将拥有.editorconfigecs.php文件。根据项目需求调整ecs.php配置,指定分析代码的目录。

在现有项目中的实施

在现有项目上初始化配置后,ecs会在代码库中找到大量错误,其中一些可能无法通过使用--fix键自动解决。在这种情况下,可以简单地接受这些错误作为“基线”并忽略它们在分析时。这可以简化工具的实施过程,并开始应用标准编写新代码。

要创建“基线”配置,首先需要收集错误,并按JSON格式组织。

vendor/bin/ecs check --output-format=json > ecs-baseline-errors.json

之后,运行命令以根据获得的JSON文件生成“基线”配置。

vendor/bin/ecs-baseliner.php ecs-baseline-errors.json

此命令将在工作目录中创建ecs-baseline.php文件。需要在ecs.php文件中连接它(默认情况下,它已经连接到模板)。然后可以检查错误是否被忽略。

如果之后ecs再次发现错误,请重复收集错误到新文件(例如,ecs-baseline-errors.2.json),并重复生成“基线”配置,指定所有错误文件。重复这些步骤,直到ecs不再输出错误。

vendor/bin/ecs-baseliner.php ecs-baseline-errors.json ecs-baseline-errors.2.json

在实施“基线”配置后,不要忘记在编辑遗留代码时,从“基线”配置中删除文件并修复错误,从而逐步使项目代码库符合标准。

在CI/CD中运行

GitLab CI/CD中运行代码检查的示例任务

stages:
    - test

.in-docker-job:
    tags:
        - docker
    image: alpine

.php-job:
    extends: .in-docker-job
    image: spaceonfire/nginx-php-fpm:latest-7.4

.composer-job:
    extends: .php-job
    before_script:
        - composer install
    cache:
        key: composer
        paths:
            - vendor
            - $COMPOSER_CACHE_DIR
    variables:
        COMPOSER_CACHE_DIR: "$CI_PROJECT_DIR/._composer-cache"

codestyle:
    extends: .composer-job
    stage: test
    script:
        - composer codestyle -- --no-progress-bar --no-interaction

在指定执行任务的docker镜像时,可以使用spaceonfire/nginx-php-fpm:latest-7.4,也可以指定项目版本的PHP标签(可用7.27.37.4)或带有phpcomposer的其他镜像。

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

贡献

报告问题发送Pull Requestsmain spaceonfire仓库。请参阅 CONTRIBUTINGCODE_OF_CONDUCT 获取详细信息。

致谢

许可证

MIT许可证(MIT)。请参阅 许可证文件 获取更多信息。