phootwork/php-cs-fixer-config

Shared config for php-cs-fixer

Package info

github.com/phootwork/php-cs-fixer-config

pkg:composer/phootwork/php-cs-fixer-config

Statistics

Installs: 3 053

Dependents: 6

Suggesters: 0

Stars: 3

Open Issues: 0

v1.0.1 2025-11-02 11:29 UTC

Requires

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 37284ad7cfc50287cfd71172b0fe857f9eed260c

Codestyle

This package is auto-updated.

Last update: 2026-05-30 12:39:48 UTC


README

👁 Continuous Integration

Phootwork PHP CS Fixer config

It's based on the ideas of prooph/php-cs-fixer-config.

Installation

Run

$ composer require --dev phootwork/php-cs-fixer-config

Add to composer.json;

"scripts": {
 "check": [
 "@cs",
 ],
 "cs": "php-cs-fixer fix -v --diff --dry-run",
 "cs-fix": "php-cs-fixer fix -v --diff",
}

Usage

Configuration

Create a configuration file .php-cs-fixer.php in the root of your project:

<?php

$config = new phootwork\fixer\Config();
$config->getFinder()
 ->exclude(['fixture'])
 ->in(__DIR__ . '/src')
 ->in(__DIR__ . '/tests')

$cacheDir = getenv('TRAVIS') ? getenv('HOME') . '/.php-cs-fixer' : __DIR__;

$config->setCacheFile($cacheDir . '/.php-cs-fixer.cache');

return $config;

Git

Add .php-cs-fixer.cache (this is the cache file created by php-cs-fixer) to .gitignore:

vendor/
.php-cs-fixer.cache

Travis

Update your .travis.yml to cache the php-cs-fixer.cache file:

cache:
 directories:
 - $HOME/.php-cs-fixer

Then run php-cs-fixer in the script section:

script:
 - vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php --verbose --diff --dry-run

Fixing issues

Manually

If you need to fix issues locally, just run

$ composer cs-fix

Pre-commit hook

You can add a pre-commit hook

$ touch .git/pre-commit && chmod +x .git/pre-commit

Paste this into .git/pre-commit:

#!/usr/bin/env bash

echo "pre commit hook start"

CURRENT_DIRECTORY=`pwd`
GIT_HOOKS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

PROJECT_DIRECTORY="$GIT_HOOKS_DIR/../.."

cd $PROJECT_DIRECTORY;
PHP_CS_FIXER="vendor/bin/php-cs-fixer"

HAS_PHP_CS_FIXER=false

if [ -x "$PHP_CS_FIXER" ]; then
 HAS_PHP_CS_FIXER=true
fi

if $HAS_PHP_CS_FIXER; then
 git status --porcelain | grep -e '^[AM]\(.*\).php$' | cut -c 3- | while read line; do
 ${PHP_CS_FIXER} fix --config-file=.php_cs --verbose ${line};
 git add "$line";
 done
else
 echo ""
 echo "Please install php-cs-fixer, e.g.:"
 echo ""
 echo " composer require friendsofphp/php-cs-fixer:3.0.0"
 echo ""
fi

cd $CURRENT_DIRECTORY;
echo "pre commit hook finish"

License

This package is licensed using the MIT License.

Editor/IDE Support

This repo contains a editors/ folder, which has contains files to apply formatting based on these rules into your editor or IDE. You can have a look, if your editor/IDE is supported. A pull request to support yours is welcome