The coding style in any technology is more ironic and sometimes multiple developers working on the project and all have the different style to write a code which leads to inconsistent code. PHP_CodeSniffer helps to adopt such a standard convention. Today I am going to explain how you can Use PHP CodeSniffer.
What is PHP CodeSniffer?
PHP_CodeSniffer is a unified coding style for the development team which helps other developers to understand and maintain the code especially for large projects.
PHP_CodeSniffer is a PEAR based coding standards which are added in the version of PHP5 and specially written to check the PHP code whether there is a violation of a pre-set coding standard, it is to ensure that your code concise and consistent essential development tools and even it can help programmers to reduce some semantic errors.
Why use PHP CodeSniffer?
PHP_CodeSniffer is mainly used to detect violations of PHP code standards. It gives you errors or warnings if any written code is not follow coding standards. code review can also be achieved automatically using PHP_CodeSniffer. In general, It is a sharp tool which maintains your code in standard formats.
To avoid the inconsistent code style, you can consider installing PHP_CodeSniffer ( http://pear.php.net/package/PHP_CodeSniffer ), it is a very good PEAR package and can analyze PHP, JAVASCRIPT, and CSS files and check out what Is contrary to the well-defined code style. Although you can define your own coding style, but PHP_CodeSniffer coding style is very convenient.
Why Is PHP CodeSniffer Important?
PHP_CodeSnifffer is important to use when more than one member working on the project because each member have different style for coding. Let me give you example, I and my friend are working on project and the style i follow to write a code is:
1 2 3 4 5 6 | <?php for ($i = 0; $i <= 10; $i++) { } |
And this is my friend style to write a code:
1 2 3 4 5 | <?php for ( $i = 0; $i <= 10; $i++ ) { } |
As you can see, My friends added curly brackets on same line and he thinks every parenthesis should have a space surrounding it, and if you check first code which was written by me is different, no spaces on every parenthesis and curly brackets on next line and then if you have the third member in team, he might have different code style or just doesn’t care about any style to write code. This piece of code is difficult to read because of inconsistencies in the file and looks messy in each and every file.
How to install PHP_CodeSniffer?
Before installing PHP_CodeSniffer, first confirm that the system has been installed PHP and version in greater than PHP5.1 and for that you can use the following command:
1 2 3 | Which php |
This command will output the path of the PHP implementation and there is no installation, first install the PHP and start to set up the PHP_CodeSniffer
Next, :Let’s install the PHP_CodeSniffer in ubuntu system:
1 2 3 | Sudo pear install PHP_CodeSniffer |
After installation is complete, use the following command to check the PHPCode_Sniffer
1 2 3 | Which phpcs && which phpcbf |
This command will test whether the installation is successful, after the success of the installation, It will display the implementation path. For Example,
1 2 3 4 | / Usr / local / bin / phpcs / Usr / local / bin / phpcbf |
After installation is complete, You can use the PHP_CodeSniffer command to test.
How to Test using PHP_CodeSniffer?
To test PHP_CodeSniffer, navigate to the directory that you want to test. It will show a lot of errors and warning to you with line number.
SYNTAX:
1 2 3 | phpcs <parameter> <file or directory> |
Here is the most commonly used parameters:
- -standard: custom code specifications, commonly used PEAR, codeigniter, Zend etc can be viewed by other installed -i parameter specifications
- -i: To view specification Installed
- -n: To display report only ERROR level
- -s: entries listed in violation of specific rules
- -config-set: Set configuration value
- -config-show: lists all defined configuration
- -config-delete: Delete Configuration Items
- -report: report format, commonly used summary, xml, csv, the default is full
By default, PHP_CodeSniffer detect all of the code are as PHP. You can specify a word list to allows your sniffer rule for PHP, JS or XML file, or any mix of these three languages.
Conclusion
As part of a continuous integration process, you may want to consider using the pre-commit test to force developers to comply with some of the above conventions. Thus, if the code is inconsistence, the developer can check using PHP_CodeSniffer and resolve the errors to make it consistent.
This article is a simply explain about the PHP_CodeSnifffer. If you want to provide additional information, simply leave a small comment below and express yourself.