厌倦了一遍又一遍地捍卫代码质量? GrumPHP 将为您做这件事!这个 Composer 插件将在你的包存储库中注册一些 git hooks。当有人提交更改时,GrumPHP 将对提交的代码运行一些测试。如果测试失败,您将无法提交更改。这个方便的工具不仅可以改进您的代码库,还可以教您的同事按照您作为团队确定的最佳实践编写更好的代码。
GrumPHP 内置了一组常见任务。您将能够以最少的配置使用 GrumPHP。
我们不想让您厌倦所有的细节,所以快点:自己安装它并释放 GrumPHP 的力量!
为了使该包正常工作,您必须确保可以在命令行上发现以下工具:
php
作曲家
git
这个包是一个 Composer 插件,应该使用 Composer 安装到项目的开发依赖项中:
将 GrumPHP 安装为不带依赖项的 Phar:
作曲家需要 --dev phpro/grumphp-shim
安装 GrumPHP 及其依赖项:
composer require --dev phpro/grumphp
通过 phive 安装没有依赖项和自动化 git hook 的 GrumPHP
phive install grumphp
安装包后,GrumPHP 会将其自身附加到项目的 git hooks 中。您将在作曲家日志中看到以下消息:
当心! GrumPHP 正在嗅探您的提交!
GrumPHP 永远不会强迫您使用特定任务。您可以选择适合您需要的任务,并立即激活或停用任何任务!请参阅composer.json 中的suggest
部分。
注意:GrumPHP 将覆盖现有的钩子,除非您使用--no-plugins
或--no-scripts
运行composer install
。我们确实会创建 git hook 的备份,但最好在尝试安装 GrumPHP 之前确保您也有自定义 hook 的备份。
安装 GrumPHP 时遇到问题?了解如何:
全局安装
使用异国情调的项目结构进行安装
GrumPHP 中的某些内容可以在项目根目录(运行 grumphp 命令的目录)中的grumphp.yml
或grumphp.yml.dist
或grumphp.dist.yml
文件中进行配置。您可以在composer.json
或控制台命令的--config
选项中指定自定义配置文件名和位置。
# grumphp.ymlgrumphp:hooks_dir: ~hooks_preset: localgit_hook_variables:VAGRANT_HOST_DIR: .VAGRANT_PROJECT_DIR: /var/wwwEXEC_GRUMPHP_COMMAND: execENV: {}stop_on_failure: falseignore_unstaged_changes: falsehide_circumvention_tip: falseprocess_timeout: 60ascii:失败: grumphp-grumpy.txtsucceeded: grumphp-happy.txtparallel:enabled: truemax_workers: 32fixer:enabled: truefix_by_default: falseenvironment:files: []variables: {}paths: []tasks: {}testsuites: []extensions: []
配置的详细信息分为以下部分。
参数 – GrumPHP 本身的配置设置。
任务 – 执行代码验证的外部任务及其各自的配置。
测试套件
扩展
扩展TaskRunner
约定检查器
由于 GrumPHP 只是一个 CLI 工具,因此可以触发以下命令:
配置
git:初始化
git:deinit
git:预提交
git:提交消息
跑步
GrumPHP 适用于 PHP 5.6 或更高版本。
该软件包已使用以下 git 客户端进行了测试:
命令行界面
命令行界面
命令行窗口
PhpStorm Git
Atlassian 源树
Syntevo SmartGit
许多任务已经可用,以确保您的团队编写出出色的代码。我们一直在寻求支持新任务。请随意记录问题或为我们忘记的任务创建拉取请求。
您是否缺少某个功能或发现了错误?将其记录在问题跟踪器中!想帮忙吗?请随时联系我们!
常问问题
Bug 和功能请求在 GitHub 上进行跟踪。在贡献您的代码之前,请先查看我们的规则。
GrumPHP 根据 MIT 许可证获得许可。