Skip to content

Instantly share code, notes, and snippets.

@sh7ning
Last active August 14, 2019 09:50
Show Gist options
  • Save sh7ning/38662a0cec760be86bdab24696e43cd7 to your computer and use it in GitHub Desktop.
Save sh7ning/38662a0cec760be86bdab24696e43cd7 to your computer and use it in GitHub Desktop.

Installation

curl https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar -L > /usr/local/bin/phpcs
chmod +x /usr/local/bin/phpcs

see more: https://github.com/squizlabs/PHP_CodeSniffer

vi .git/hooks/pre-commit

#!/bin/sh

# 注意:hook文件需要加可执行权限
# 需要检查的应用配置,如果为空则直接为 /
APP_NAMES=("/item" "/quality")

PROJECT=`php -r "echo dirname(dirname(dirname(realpath('$0'))));"`
dophpcs() {
    APP_PATH=$PROJECT$1
    echo "切换目录:" $APP_PATH
    cd $APP_PATH
    # CMD="./vendor/bin/phpcs --standard=psr2 app/"
    CMD="phpcs --standard=psr2 app/"
    echo "#### phpcs $1 开始 ####"
    echo $CMD
    # 增加文件是否存在的判断 防止 $APP_NAMES 配置错误
    $CMD
    if [ $? != 0 ]
    then
        exit 1
    fi
    echo "####phpcs $1 通过"

    echo "\n"
}

for APP_NAME in ${APP_NAMES[*]}
do
    dophpcs $APP_NAME
done

exit $?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment