============ Installation ============ When developing on multiple projects or with team of developers, it is highly recommended to install PHP CS Fixer as direct dependency per project and not globally on your machine. This will ensure each team member is using version of the tool expected by given project. PHP needs to be a minimum version of PHP 7.4. Composer -------- Fresh installation ~~~~~~~~~~~~~~~~~~ To install PHP CS Fixer, `install Composer `_ and issue the following command: .. code-block:: console composer require --dev friendsofphp/php-cs-fixer ## or when facing conflicts in dependencies: composer require --dev php-cs-fixer/shim Upgrade ~~~~~~~ .. code-block:: console composer upgrade friendsofphp/php-cs-fixer ## or composer upgrade php-cs-fixer/shim Docker ------ You can use pre-built Docker images to run ``php-cs-fixer``. .. code-block:: console docker run -it --rm -v $(pwd):/code ghcr.io/php-cs-fixer/php-cs-fixer:${FIXER_VERSION:-3-php8.3} fix src ``$FIXER_VERSION`` used in example above is an identifier of a release you want to use, which is based on Fixer and PHP versions combined. There are different tags for each Fixer's SemVer level and PHP version with syntax ``-php``. For example: * ``3.66.1-php7.4`` * ``3.66-php8.0`` * ``3-php8.3`` PHIVE ----- Fresh installation ~~~~~~~~~~~~~~~~~~ Install `PHIVE `_ and issue the following command: .. code-block:: console phive install php-cs-fixer Upgrade ~~~~~~~ .. code-block:: console phive update php-cs-fixer GitHub Action (Docker) ---------------------- To integrate PHP CS Fixer as check into a GitHub Action step, you can use a configuration like this: .. code-block:: yaml - name: PHP-CS-Fixer uses: docker://ghcr.io/php-cs-fixer/php-cs-fixer:3-php8.3 with: args: check # use `check .` if your repository not having paths configured in .php-cs-fixer[.dist].php Gitlab-CI (Docker) ------------------ To integrate PHP CS Fixer as check into Gitlab-CI, you can use a configuration like this: .. code-block:: yaml php-cs-fixer: image: ghcr.io/php-cs-fixer/php-cs-fixer:${FIXER_VERSION:-3-php8.3} script: php-cs-fixer check --format gitlab # use `check .` if your repository not having paths configured in .php-cs-fixer[.dist].php Homebrew (globally) ------------------- While not recommended to install the tool globally, it is possible to use homebrew as well. Fresh installation ~~~~~~~~~~~~~~~~~~ .. code-block:: console brew install php-cs-fixer Upgrade ~~~~~~~ .. code-block:: console brew upgrade php-cs-fixer Manual binary download ---------------------- It is also possible to download the `php-cs-fixer.phar`_ file and store it somewhere on your computer. Fresh installation ~~~~~~~~~~~~~~~~~~ To do that, you can run these commands to easily access latest ``php-cs-fixer`` from anywhere on your system: .. code-block:: console wget https://cs.symfony.com/download/php-cs-fixer-v3.phar -O php-cs-fixer # or curl -L https://cs.symfony.com/download/php-cs-fixer-v3.phar -o php-cs-fixer or with specified version: .. code-block:: console wget https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/download/v3.66.0/php-cs-fixer.phar -O php-cs-fixer # or curl -L https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/download/v3.66.0/php-cs-fixer.phar -o php-cs-fixer then: .. code-block:: console sudo chmod a+x php-cs-fixer sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer Then, just run ``php-cs-fixer``. Upgrade ~~~~~~~ .. code-block:: console sudo php-cs-fixer self-update .. _php-cs-fixer.phar: https://cs.symfony.com/download/php-cs-fixer-v3.phar