Git hooks for PHP commits quality assurance
- git
- bash
- PHP CLI
- Core utils
- Customization by git config options
- Check for PHP syntax before commit
- Check for Git conflict markups before commit
- Warn about PHP dump functions (var_dump(), var_export(), print_r())
- Check PHP code style before push
- Run PHPUnit tests before push
- Colored output
-
Install package:
composer require --dev nafigator/php-qa-hooks
-
Add extra section to composer.json:
"extra": { "scripts-dev": { "post-install-cmd": "vendor/nafigator/php-qa-hooks/src/hooks-install.sh" } }
-
Place phpcs.xml into root of your project.
NOTE: An example phpcs.xml file can be found in the PHP_CodeSniffer repository: phpcs.xml.dist
-
Run
composer install
.
-
Remove git config section
check.php
git config --remove-section check.php
-
Add extra section to composer.json:
"extra": { "scripts-dev": { "post-install-cmd": "vendor/nafigator/php-qa-hooks/src/hooks-uninstall.sh" } }
Commit and push your changes to repository. When uninstall script completes cleanup for all work copies, move to next step.
-
Remove package:
composer remove --dev nafigator/php-qa-hooks
-
Remove phpcs.xml from root ot your project.
Example (colors off):
git config check.php.colors false
Available git config options:
check.php.colors [true|false]
check.php.conflicts [true|false]
check.php.dumps [true|false]
check.php.phpunit [true|false]
check.php.style [true|false]
check.php.syntax [true|false]
NOTE: PHPUnit disabled by default. You need to enable it manually.
This software follows "Semantic Versioning" specifications. All function signatures declared as public API.
Read more on SemVer.org.