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.phpgit 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.
