getwarp / easy-coding-standard-bridge
Easy Coding Standard 的 Warp 配置
Requires
- php: ^7.4|^8.0
Requires (Dev)
- roave/security-advisories: dev-latest
- slevomat/coding-standard: ^7.0
- symfony/var-exporter: ^5.2|^6.0
- symplify/easy-coding-standard: ^10.0
Suggests
- slevomat/coding-standard: ^7.0
- symfony/var-exporter: Required for ecs-baseliner
- symplify/easy-coding-standard: ^10.0
README
getwarp/easy-coding-standard-bridge
Easy Coding Standard 的配置
安装
安装开发依赖
composer require --dev getwarp/easy-coding-standard-bridge symplify/easy-coding-standard symfony/var-exporter
使用
为了复制 Easy Coding Standard 和 EditorConfig 的基本配置,请执行仓库目录中的命令。
vendor/bin/ecs-init.php
之后,您将拥有 .editorconfig
和 ecs.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: getwarp/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 映像时,可以使用项目 PHP 版本的标签(可用 7.2
、7.3
、7.4
)代替 getwarp/nginx-php-fpm:latest-7.4
,或者使用带有 php
和 composer
的其他镜像。
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG。
贡献
在 main Warp 仓库 中报告问题并 发送拉取请求。请参阅 贡献指南 和 行为准则 以获取详细信息。
致谢
许可协议
MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件。