nafigator / php-qa-hooks
Git hooks for PHP commits QA.
Requires
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
PHP QA git hooks
Git hooks for PHP commits quality assurance
Requirements
- git
- bash
- PHP CLI
- Core utils
Features
- 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 via Composer
-
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.
Uninstall
-
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.
Configuration
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.
Versioning
This software follows "Semantic Versioning" specifications. All function signatures declared as public API.
Read more on SemVer.org.
