This standard consist of a subset of sniffs from the TYPO3SniffPool and implements the Coding Guidelines for TYPO3 CMS.
It contains just a ruleset.xml file in which we refer to the sniffs from PHP_CodeSniffer and from TYPO3SniffPool.
In case you didn't have installed the TYPO3SniffPool or the PHP_CodeSniffer yet - no problem. This packages are marked as dependencies of this standard and will install automatically.
There are several ways to get the standard, which I am going to describe now. There is no right or wrong. Which way you choose depends on your preferences and at least on your requirements.
We support Composer, a dependency manager for PHP.
Create a composer.json in the root folder of your project or extend the existing one and declare this package as a dependency:
{
"minimum-stability": "alpha",
"require": {
"typo3-ci/typo3cms": "dev-master"
}
}
Since the package is managed with Packagist this is all what you need.
This will install the PHP_CodeSniffer and the TYPO3SniffPool into the vendor/ folder of your project. For more informations about Composer have a look at their documentation.
For a system-wide installation, you can use:
composer global require "typo3-ci/typo3cms=dev-master"
Make sure to have ~/.composer/vendor/bin/
in your path.
The second way is to clone the repository from github. In this case you have to take care about the dependencies by yourself.
$ git clone https://github.com/typo3-ci/TYPO3CMS.git
$ git clone https://github.com/typo3-ci/TYPO3SniffPool.git
As various the installations methods are, as various the usage is.
Change into your project folder and call the PHP_CodeSniffer from there:
$ cd myproject
$ php vendor/squizlabs/php_codesniffer/scripts/phpcs --standard=TYPO3CMS /path/to/folder
Its also possible to call this standard with a global installed PHP_CodeSniffer (f.e. via PEAR)
$ cd myproject
$ phpcs --standard=vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/TYPO3CMS/ruleset.xml /path/to/folder
After you cloned the standard and it dependencies the usage is nearly the same as above. There are two main methods.
-
Copy the standard into the Standards/ folder of the PHP_CodeSniffer and call it with --standard=TYPO3CMS
-
Put the standard at any place you want and call point to it absolutely --standard=/path/to/TYPO3CMS/ruleset.xml
Please have a look at the dedicated wiki page for information about how you can contribute to this project.