amphp/php-cs-fixer-config

AMPHP的代码风格配置

资助包维护!
amphp

v2.1.0 2024-04-19 02:16 UTC

This package is auto-updated.

Last update: 2024-09-19 03:29:23 UTC


README

此存储库包含所有@amphp项目的通用代码风格配置。它基于refinery29/php-cs-fixer-config的理念。

Build Status

安装

composer require --dev amphp/php-cs-fixer-config

使用方法

配置

在项目的根目录下创建配置文件.php_cs.dist

<?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;

Git

.php_cs.cache(由php-cs-fixer使用的缓存文件)添加到.gitignore

vendor/
.php_cs.cache

Travis

更新您的.travis.yml以缓存php_cs.cache文件

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

然后在script部分运行php-cs-fixer

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

修复问题

手动

如果您需要本地修复问题,请运行

./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 "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."

许可证

此包使用MIT许可证授权。