php强制对齐,[强迫症福利] 使用 PHPStorm 对齐数组的键值对
用 php-cs-fixer 自动格式化,一个配置配合 Git 自动格式化,补充楼上。
示例 Git Hook
忽略前端的代码格式化,修改一下就可以用。
#!/bin/bash
#
# check PHP code syntax error and standard with phpcs
# https://blog.csdn.net/xsgnzb/article/details/52222366?locationNum=4&fps=1
# https://blog.csdn.net/ljihe/article/details/80826071
# =================== how to use ====================
# cp ./build/pre-commit.sh ./.git/hooks/pre-commit
# chmod 777 ./.git/hooks/pre-commit
# git commit -h
# git commit -n -m 'pass hook' #bypass pre-commit and commit-msg hooks
# ==================== end ==========================
PROJECT=$(git rev-parse --show-toplevel)
cd $PROJECT
SFILES=$(git diff --cached --name-only --diff-filter=ACMR HEAD | grep \\.php$)
# Determine if a file list is passed
if [ "$#" -ne 0 ]
then
exit 0
fi
echo "Checking PHP Lint..."
for FILE in $SFILES
do
php -l -d display_errors=0 $FILE
if [ $? != 0 ]
then
echo "Fix the php error before commit."
exit 1
fi
FILES="$FILES $PROJECT/$FILE"
done
phpcsfixer_path=$(cd `dirname $0`; pwd)"/../../build/php-cs-fixer"
gulp_path=$(cd `dirname $0`; pwd)"/../../frontend/node_modules/.bin/gulp"
prettier_path=$(cd `dirname $0`; pwd)"/../../frontend/node_modules/.bin/prettier"
# format code style
if [ "$FILES" != "" ]
then
echo "Running Code Sniffer..."
isCheck=""
for FILE in $SFILES
do
IGNORE_PATH=(
'vendor'
)
for IGNORE_ITEM in ${IGNORE_PATH[@]}
do
if [[ ${FILE} =~ ${IGNORE_ITEM} ]]
then
echo "Ignore file of "${IGNORE_ITEM}
continue 2
fi
done
#result=`~/.composer/vendor/bin/php-cs-fixer fix $FILE --config=.php_cs.dist`
#result=`php-cs-fixer fix $FILE --config=.php_cs.dist`
result=`php $phpcsfixer_path fix $FILE --config=.php_cs.dist`
if [ "$result" != "" ]
then
echo $result
isCheck=$result
git add $FILE
fi
done
if [ "$isCheck" != "" ]
then
echo "The file has been automatically formatted."
fi
fi
# for js
jsfiles=$(git diff --cached --name-only --diff-filter=ACM "*.js" "*.jsx" "*.vue" "*.css" "*.less" | tr '\n' ' ')
[ -z "$jsfiles" ] && exit 0
# format iview
$gulp_path iview --gulpfile frontend/gulpfile.js
# Prettify all staged .js files
echo "$jsfiles" | xargs $prettier_path --config frontend/.prettierrc.js --ignore-path frontend/.prettierignore --write
# Add back the modified/prettified files to staging
echo "$jsfiles" | xargs git add
git update-index -g
exit $?
php强制对齐,[强迫症福利] 使用 PHPStorm 对齐数组的键值对相关推荐
- phpstorm遍历PHP数组,使用PHPStorm对齐数组的键值对
在 PHPStorm 中定义数组时往往会写成下面这样:public function index() { return [ 'foo' => 'bar', 'foo-bar' => 'fo ...
- 什么是字节对齐,为什么需要字节对齐
概念 在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int.long.float等)的变量,也可以是一些复合数据类型(如数组.结构.联合等)的数据单元.在结构中,编译器为结构的 ...
- c语言特殊字符字符串宽度对齐,[转]C语言字节对齐问题详解
引言 考虑下面的结构体定义: 1 typedef struct{2 charc1;3 shorts;4 charc2;5 inti;6 }T_FOO; 假设这个结构体的成员在内存中是紧凑排列的,且c1 ...
- mysql字节对齐_结构体字节对齐-位域及其对齐
字节对齐的准则:其实字节对齐的细节和具体编译器实现相关,但一般而言,满足三个准则: 1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除: 2) 结构体每个成员相对于结构体首地址的偏移量都是成 ...
- mysql字节对齐_结构体字节对齐(转)
结构体字节对齐 在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题.从理论上讲,对于任何变量的访问都可以从任何地址开始访问,但是 ...
- python中右对齐_python中如何右对齐-问答-阿里云开发者社区-阿里云
例如,有一个字典如下: dic = { "name": "botoo", "url": "http://www.123.com&q ...
- html 设置图片左对齐,CSS设置图片的对齐
CSS设置图片的对齐 横向对齐方式 图片的水平对齐方式和文字的水平对齐方式基本相同,分别是左.中.右三种方式,不同的是,图片的水平对齐通常不能直接通过设置图片的text-align属性设置,而是,通过 ...
- php excel 右对齐,excel中单元格对齐方式在哪里设置?
excel单元格对齐方式可以在"设置单元格格式"框的"文本对齐方式"中设置.设置方法:1.选中要设置的单元格或单元格区域:2.鼠标点击右键,点击"设置 ...
- 怎么让c语言程序右边对齐,c语言中的对齐方式
对齐有自然对齐(Natural)和指点对齐(Assign). 自然对齐指数据类型本身的对齐方式,例如 int为4,float为4,double为8. 指定对齐为编译器默认的对齐方式(VC默认为8)或用 ...
最新文章
- python能够处理的最大整数是多少_python中能输出的最大整数位是多少
- FTP错误 [ftp: connect: No route to host] 解决方法
- Oozie基于Hue全流程调度
- Python 计算机视觉(三)—— 数字图像处理基本操作
- LeetCode Algorithm 206. 反转链表
- 大数据互联网架构阶段 大型电商项目数据库设计时应该注意的点
- CI框架源码阅读笔记4 引导文件CodeIgniter.php
- MySQL(一)MySQL基础介绍
- 好文章系列(都是网上非常好的文章)
- Python已经超过了JAVA?
- 校园网客户端没有linux版,Linux版校园网客户端公测中(已添加GUI输入窗口)njit-clent...
- 路由器登录校园网解决终端限制问题
- 英文secuerity证券secuerity安全
- 可牛影像动感渐隐闪图教程
- 计算机组成dr是什么意思,体检中DR诊断是什么意思
- win10命令提示符怎么打开_技巧,win10蓝屏SYSTEM_PTE_MISUSE怎么解决
- Android禁用系统更新
- iOS如何让APP删除后不接受APNS推送消息
- 《算法图解》读书笔记
- 【oracle】 字段属性为 date 的相关操作
热门文章
- LINQ:进阶 - LINQ 标准查询操作概述
- python3怎样交换数字顺序_python中怎么交换列的顺序
- ffmpeg源码分析及mp4文件解析
- Android之用Handler实现主线程和子线程互相通信以及子线程和子线程之间的通信
- Android之JNI ERROR (app bug): accessed stale global reference 0xb39533f2 (index 19708 in a table of s
- Android studio之NDK integration is deprecated in the current plugin解决办法
- JavaJVM之ClassLoader源码分析
- 判断一棵树是否为平衡二叉树
- solidity struct 结构体创建与使用浅学 (四)
- 计算机辅助翻译的启示,翻译单位研究对计算机辅助翻译启示.PDF