Download the PHP package manoj-malviya/php_codesniffer without Composer
On this page you can find all versions of the php package manoj-malviya/php_codesniffer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download manoj-malviya/php_codesniffer
More information about manoj-malviya/php_codesniffer
Files in manoj-malviya/php_codesniffer
Package php_codesniffer
Short Description PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.
License BSD-3-Clause
Homepage http://www.squizlabs.com/php-codesniffer
Informations about the package php_codesniffer
First, we need a development dependency specified to install phpcs. It looks something like this:
Install Scripts
Composer has a handy schema entry called scripts. It supports a script hook post-install-cmd. We will use this to install a git pre-commit hook. Adding to our example above:
This will run a bash script called setup.sh when the command composer install is run.
Setup the Git Pre-commit Hook
In our setup.sh, we will need to copy a pre-commit script into the .git/hooks directory:
This will copy our pre-commit script from the contrib directory to the hooks section of the special git directory and make it executable.
Create the Pre-commit Hook
Whenever a contributing developer attempts to commit their code, it will run our pre-commit script. Now all we need to do is run the code sniffer rules on relavent files specific to this commit:
This script will get the staged files of the commit, run a php lint check (always nice), and apply the code sniffer rules to the staged files.
If there is a code standards violation, the phpcs process will return a non-zero exit status which will tell git to abort the commit.
Bringing it all together
With all of these things in place, the workflow is as follows:
Developer runs composer install. PHP Code Sniffer is installed via a dev dependency. The post-install command automatically copies the pre-commit hook into the developer’s local git hooks. When the developer commits code, the pre-commit hook fires and checks the staged files for coding standards violations and lint checks. This is a relatively simple setup that can save pull request code reviews a significant amount of time preventing back-and-forth on simple things such as mixed tabs/spaces, bracket placement, etc.
All versions of php_codesniffer with dependencies
ext-tokenizer Version *
ext-xmlwriter Version *