Awesome
Code Climate PHP_CodeSniffer Engine
codeclimate-phpcodesniffer
is a Code Climate engine that wraps the PHP_Code Sniffer static analysis tool. You can run it on your command line using the Code Climate CLI, or on our hosted analysis platform.
PHP_CodeSniffer helps you detect violations of a defined coding standard.
Installation
- If you haven't already, install the Code Climate CLI.
- Run
codeclimate engines:enable phpcodesniffer
. This command both installs the engine and enables it in your.codeclimate.yml
file. - You're ready to analyze! Browse into your project's folder and run
codeclimate analyze
.
Config Options
Format the values for these config options per the PHP_CodeSniffer documentation.
- file_extensions - This is where you can configure the file extensions for the files that you want PHP_CodeSniffer to analyze.
- standard - This is the comma delimited list of standards that you want PHP_CodeSniffer to use while analyzing your files. You may optionally include a relative path to a custom phpcs ruleset.xml file.
- ignore_warnings - You can hide warnings, and only report errors with this option.
- encoding - By default, PHPCS uses ISO-8859-1. Use this to change it to your encoding, e.g. UTF-8.
Sample Config
exclude_paths:
- "/examples/**/*"
engines:
phpcodesniffer:
enabled: true
config:
file_extensions: "php,inc,lib"
standard: "PSR1,PSR2,my_custom_php_ruleset.xml"
ignore_warnings: true
encoding: utf-8
ratings:
paths:
- "**.php"
Supported Coding Standards
In addition to standards provided by default with PHP_CodeSniffer, the Drupal, WordPress, Yii2, and Magento Extension coding standards are supported. Here is the full list:
- Drupal
- DrupalPractice
- MEQP1
- MEQP2
- MySource
- PEAR
- PHPCS
- PSR1
- PSR2
- Squiz
- WordPress
- WordPress-Core
- WordPress-Docs
- WordPress-Extra
- WordPress-VIP
- Yii2
- Zend
Need help?
For help with PHP_CodeSniffer, check out their documentation.
If you're running into a Code Climate issue, first look over this project's GitHub Issues, as your question may have already been covered. If not, go ahead and open a support ticket with us.