dev-master
9999999-devPHP CS Fixer config for AMP
MIT
The Requires
- php ^7.0
- friendsofphp/php-cs-fixer ^2.8.1
The Development Requires
 Wallogit.com
                    
                    2017 © Pedro Peláez
                         Wallogit.com
                    
                    2017 © Pedro Peláez
                    
                    
                    
                    
                
                
            
PHP CS Fixer config for AMP
This repository contains the common code style configuration for all @amphp projects.
It's based on the ideas of refinery29/php-cs-fixer-config., (*1)
composer require --dev amphp/php-cs-fixer-config
Create a configuration file .php_cs.dist in the root of the project:, (*3)
<?php
$config = new Amp\CodeStyle\Config;
$config->getFinder()
    ->in(__DIR__ . "/examples")
    ->in(__DIR__ . "/src")
    ->in(__DIR__ . "/test");
$cacheDir = getenv('TRAVIS') ? getenv('HOME') . '/.php-cs-fixer' : __DIR__;
$config->setCacheFile($cacheDir . '/.php_cs.cache');
return $config;
Add .php_cs.cache (the cache file used by php-cs-fixer) to .gitignore:, (*4)
vendor/ .php_cs.cache
Update your .travis.yml to cache the php_cs.cache file:, (*5)
cache:
  directories:
    - $HOME/.php-cs-fixer
Then run php-cs-fixer in the script section:, (*6)
script: - vendor/bin/php-cs-fixer fix --config=.php_cs.dist --verbose --diff --dry-run
If you need to fix issues locally, run, (*7)
./vendor/bin/php-cs-fixer fix -v
You can add a pre-commit hook to format the code automatically before each commit., (*8)
Run touch .git/pre-commit to create a new hook, make it executable with chmod +x .git/pre-commit and paste the following script into .git/pre-commit:, (*9)
#!/usr/bin/env bash
echo "Running php-cs-fixer to format the code..."
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:2.0.0"
    echo ""
fi
cd $CURRENT_DIRECTORY;
echo "Done."
This package is licensed using the MIT License., (*10)
PHP CS Fixer config for AMP
MIT