GrumPHP 配置参数详解:优化你的代码质量检查流程
grumphp A PHP code-quality tool 项目地址: https://gitcode.com/gh_mirrors/gr/grumphp
GrumPHP 是一个强大的 Git 钩子管理工具,能够帮助开发团队在代码提交前自动执行各种代码质量检查。本文将深入解析 GrumPHP 的核心配置参数,帮助你根据项目需求进行个性化设置。
基础配置参数
钩子相关配置
hooks_dir
默认值: null
指定自定义 Git 钩子模板的存放目录。如果不设置,GrumPHP 会使用内置的 resources/hooks
目录。当团队有特殊钩子需求时,可以通过此参数指定自定义钩子位置。
hooks_preset
默认值: local
定义预设的钩子类型,目前支持两种:
local
:所有检查在本地计算机运行vagrant
:所有检查在 Vagrant 虚拟环境中运行(需配合git_hook_variables
配置)
执行控制参数
stop_on_failure
默认值: false
当设置为 true 时,一旦某个任务失败,GrumPHP 会立即停止执行后续任务。适合希望快速反馈问题的开发场景。
ignore_unstaged_changes
默认值: false
启用后,GrumPHP 会在运行任务前暂存未暂存的更改,确保只检查已暂存的代码变更。注意这可能导致工作副本出现意外合并冲突。
process_timeout
默认值: 60
设置任务执行的超时时间(秒)。对于大型项目或复杂检查,可能需要增加此值。设为 null 可禁用超时限制。
高级功能配置
并行处理配置
parallel:
enabled: true
max_workers: 32
GrumPHP 支持并行执行任务以提升效率:
enabled
:启用/禁用并行执行max_workers
:设置最大工作线程数
自动修复功能
fixer:
enabled: true
fix_by_default: false
GrumPHP 提供代码自动修复能力:
enabled
:启用/禁用修复功能fix_by_default
:设置在没有交互时是否默认执行修复
环境变量管理
environment:
files: [.env, .env.local]
variables:
PHP_CS_FIXER_IGNORE_ENV: "1"
paths: [tools]
精细控制执行环境:
files
:加载指定的环境配置文件variables
:设置环境变量paths
:添加到系统 PATH 的路径
个性化设置
ASCII 艺术展示
ascii:
failed:
- resource/grumphp-grumpy.txt
- resource/nopecat.txt
succeeded: ~
自定义任务执行结果的 ASCII 艺术显示:
- 支持单个文件或随机选择的文件列表
- 可单独禁用成功或失败的显示
附加信息提示
additional_info: "\n项目文档请访问: https://docs.example.com\n"
在任务执行结果后显示自定义提示信息,适合团队协作时提供额外指导。
最佳实践建议
-
Vagrant 环境配置:在 Vagrant 开发环境中,建议设置:
hooks_preset: vagrant git_hook_variables: VAGRANT_HOST_DIR: . VAGRANT_PROJECT_DIR: /var/www
-
大型项目优化:对于大型项目,可增加超时时间和工作线程数:
process_timeout: 120 parallel: max_workers: 64
-
团队协作提示:利用
additional_info
提供团队规范:additional_info: "\n请确保代码符合团队编码规范!\n"
通过合理配置这些参数,GrumPHP 可以完美适应各种开发环境和团队工作流程,成为提升代码质量的得力助手。
grumphp A PHP code-quality tool 项目地址: https://gitcode.com/gh_mirrors/gr/grumphp
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考