开源项目 pre-commit-php
使用教程
1. 项目的目录结构及介绍
pre-commit-php
是一个用于 PHP 项目的 Git pre-commit 钩子脚本,旨在验证 PHP 文件的语法错误和 PSR-2 编码风格。以下是该项目的目录结构及其介绍:
pre-commit-php/
├── LICENSE
├── README.md
├── pre-commit
└── pre-commit-config.yaml
- LICENSE: 项目的许可证文件,本项目采用 MIT 许可证。
- README.md: 项目的说明文档,包含项目的基本信息、安装和使用说明。
- pre-commit: 主要的启动脚本文件,用于在提交前检查 PHP 文件的语法和编码风格。
- pre-commit-config.yaml: 配置文件,用于定义 pre-commit 钩子的行为和参数。
2. 项目的启动文件介绍
pre-commit
文件是项目的启动文件,它是一个 Bash 脚本,用于在 Git 提交前自动执行 PHP 语法检查和编码风格检查。以下是该文件的主要功能:
- 语法检查: 使用
php -l
命令检查 staged 的 PHP 文件是否有语法错误。 - 编码风格检查: 使用 PHP_CodeSniffer 检查 PHP 文件是否符合 PSR-2 编码标准。
该脚本会在每次提交前自动运行,如果检查失败,则阻止提交。
3. 项目的配置文件介绍
pre-commit-config.yaml
是项目的配置文件,用于定义 pre-commit 钩子的行为和参数。以下是该文件的主要内容:
repos:
- repo: https://github.com/hootsuite/pre-commit-php
rev: master
hooks:
- id: php-lint
- id: php-cs
args: [--standard=PSR2]
- repos: 定义要使用的仓库和版本。
- repo: 指定
pre-commit-php
仓库的 URL 和版本。 - hooks: 定义要运行的钩子。
- php-lint: 运行 PHP 语法检查。
- php-cs: 运行 PHP 编码风格检查,使用
--standard=PSR2
参数指定检查标准为 PSR-2。
通过配置文件,可以灵活地定义和调整 pre-commit 钩子的行为,以适应不同的项目需求。