airmedia / php-cs-fixer-config
为 Airmedia 项目配置 PHP-CS-Fixer
0.7.0
2019-01-09 12:20 UTC
Requires
- php: ^7.1
- friendsofphp/php-cs-fixer: ^2.14
Requires (Dev)
- phpunit/phpunit: ^5.7
README
为 Airmedia 项目配置 PHP-CS-Fixer。
它基于 refinery29/php-cs-fixer-config
的想法。
安装
$ composer require airmedia/php-cs-fixer-config --dev
使用
配置
在项目根目录创建一个配置文件 .php_cs
<?php $config = new AirMedia\CS\Config(); $config->getFinder()->in(__DIR__); $cacheDir = getenv('TRAVIS') ? getenv('HOME') . '/.php-cs-fixer' : __DIR__; $config->setCacheFile($cacheDir . '/.php_cs.cache'); return $config;
Git
将 .php_cs.cache
(这是由 php-cs-fixer
创建的缓存文件)添加到 .gitignore
vendor/
.php_cs.cache
修复问题
手动
如果您需要本地修复问题,只需运行
$ ./vendor/bin/php-cs-fixer fix -v
预提交钩子
您可以添加一个 pre-commit
钩子
$ touch .git/pre-commit && chmod +x .git/pre-commit
将以下内容粘贴到 .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:2.0.0" echo "" fi cd $CURRENT_DIRECTORY; echo "pre commit hook finish"
许可
本软件包使用 MIT 许可证授权。