spaceonfire / easy-coding-standard-bridge
Requires
- php: ^7.2|^8.0
Requires (Dev)
- roave/security-advisories: dev-latest
- slevomat/coding-standard: ^7.0
- symfony/var-exporter: ^5.1
- symplify/easy-coding-standard: ^9.2
Suggests
- slevomat/coding-standard: ^7.0
- symfony/var-exporter: Required for ecs-baseliner
- symplify/easy-coding-standard-prefixed: ^9.2
README
安装
安装开发依赖
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
之后,您将拥有.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: 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.2
,7.3
,7.4
)或带有php
和composer
的其他镜像。
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
贡献
报告问题 并 发送Pull Requests 到 main spaceonfire仓库。请参阅 CONTRIBUTING 和 CODE_OF_CONDUCT 获取详细信息。
致谢
许可证
MIT许可证(MIT)。请参阅 许可证文件 获取更多信息。