git提交代码前用php-cs-fixer强制格式化代码

10 篇文章 0 订阅

需求:为统一团队代码风格,在大家提交代码时同意格式化代码,方便阅读。

思路:

1、php-cs-fixer格式化代码

2、git hooks来选定在什么时候进行格式化

工具:

1、git

2、php-cs-fixer

安装php-cs-fixer,packagit地址

A、先在项目根目录下写个脚本,调用脚本,则自动格式化当前修改了的php文件的代码,
php-cs.sh 如下:

#!/bin/bash

modify_files=`git status | grep 'lib.*.php' | awk -F ':' '{print $2}'  | uniq`
for file in ${modify_files}
do
    result=`~/.composer/vendor/bin/php-cs-fixer fix ${file} | grep 'lib.*.php' `
    echo $result
done
通过git status查看有哪些文件做了修改,匹配出需要的文件,丢给php-cs-fixer进行格式化

格式化成功,则会输出:1) /var/www/demo.php 文件名,

如果没有需要格式化的代码,则会输出空


B、写git的hooks脚本

位置在项目根目录的.git/hooks/文件夹下面,我们选用pre-commit事件, vi pre-commit。

在commit之前进行判断,有php文件进行了格式化,则不commit,给出错误提示;没有php文件夹进行了格式化,则commit;

hooks脚本如下:

#!/bin/sh

commit=`sh /var/www/credit/php-cs.sh` #这个路径需要根据本机进行配置,使用相对路径好像不行
if [ -n "$commit" ]
then
    echo >&2 "代码进行了格式化,请重新提交一次"
    exit 1
fi
exit 0

这样,在每次提交代码的时候,就能对php文件里的代码进行格式化,也可以参照php-cs-fixer文档做更多定制化配置


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李昂的数字之旅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值