# Mettre en place PHP Cs Fixer en tant que Hook de pre-commit But : exécuter PHP Cs fixer automatiquement lors du commit de fichiers PHP. ## Mise en place Dans le projet les hooks pour Git sont contenus dans le dossier `.githooks`. Il n'est pas possible de versionner les fichier dans le dossier de `.git` d'un repository, donc il faudra prendre ce fichier et le placer dans `.git/hooks/` à la racine du repository. Pour avoir l'exécutable php-cs-fixer lancez la commande : ```=sh wget https://cs.symfony.com/download/php-cs-fixer-v2.phar -O php-cs-fixer ## Ensuite vous devez donner un droit d'exécution sur le CLI téléchargé sudo chmod 407 /usr/local/bin/php-cs-fixer ## Et donnez le droit d'exécution sur le hook de precommit chmod +x .git/hooks/pre-commit ``` Et voilà ! Tout nouveau fichier ou fichier modifié finissant par .php sera corrigé par PHP Cs Fixer en utilisant le fichier de configuration contenu à la racine du projet. ## Fonctionnement Ce hook vérifie que vous avez l'exécutable sinon il vous demande de l'installer. Les fichiers sont récupérés à partir de la commande `git status --porcelain` et un grep est fait sur chaque ligne avec un A ou M et finissant par .php Les vues, system et installers ne sont pas corrigés, ils sont ignorés via le grep effectué.