如何编写一个Composer脚本来检查项目的编码规范?(PHP_CodeSniffer)

冰火之心
发布: 2025-12-23 15:42:08
原创
725人浏览过
可在composer.json中配置自定义脚本实现一键编码规范检查:添加"cs:check": "phpcs --standard=PSR12 --extensions=php --report=full src/ tests/"等命令,并推荐配合phpcbf、Git钩子及CI使用。

如何编写一个composer脚本来检查项目的编码规范?(php_codesniffer)

直接在 composer.json 里配置一个自定义脚本,调用 phpcs 命令即可实现一键检查编码规范。

安装 PHP_CodeSniffer

确保项目已通过 Composer 安装 phpcs(推荐本地安装,避免全局依赖冲突):

  • 运行 composer require --dev squizlabs/php_codesniffer
  • 安装后命令路径为 vendor/bin/phpcs(Linux/macOS)或 vendor\bin\phpcs.bat(Windows)
  • 可选:同时安装常用标准,比如 composer require --dev phpcompatibility/php-compatibility(用于兼容性检查)

配置 composer.json 脚本

composer.json"scripts" 段添加一条检查命令:

"scripts": {
  "cs:check": "phpcs --standard=PSR12 --extensions=php --report=full src/ tests/"
}
登录后复制
  • --standard=PSR12 指定使用 PSR-12 规范(也可换为 SquizGeneric 或自定义规则集)
  • --extensions=php 明确只扫描 PHP 文件
  • --report=full 输出详细报告(也支持 summaryjsoncheckstyle 等格式)
  • src/ tests/ 是要检查的目录,按需调整

增强实用性的小技巧

让检查更贴近开发流程:

立即学习PHP免费学习笔记(深入)”;

lavender.ai
lavender.ai

销售类电子邮件写作教练

lavender.ai 112
查看详情 lavender.ai
  • --colors 让终端输出带颜色,更易读
  • --ignore="*/vendor/*,*/tests/Bootstrap.php" 排除不需要检查的路径
  • --severity=5 只报告中等及以上严重性问题(默认全部)
  • 写成两个脚本:一个快速检查(cs:check),一个自动修复(cs:fix,需搭配 phpcbf

例如修复脚本:"cs:fix": "phpcbf --standard=PSR12 --extensions=php src/ tests/"

配合 Git 钩子或 CI 使用

检查脚本本身不自动阻止提交,但可以集成到工作流中:

  • CI 中(如 GitHub Actions)直接运行 composer cs:check,失败则中断构建
  • 本地可用 composer install 后自动注册钩子,或配合 composer/composer-plugin 类工具
  • 简单方案:在 pre-commit 钩子里执行 composer cs:check || exit 1(需额外安装 husky 或 simple-git-hooks)

基本上就这些 —— 不复杂但容易忽略的是路径和标准的一致性,建议把 phpcs.xml 配置文件也放进项目根目录,比命令行参数更易维护。

以上就是如何编写一个Composer脚本来检查项目的编码规范?(PHP_CodeSniffer)的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号