php使⽤php-cs-fixer统⼀代码风格
.php_cs.dist ⽂件
<?php
$header = <<<'EOF'
EOF;
$finder =  PhpCsFixer\Finder::create()
->exclude('tests/Fixtures')  //排除⽂件
->in(__DIR__);
return PhpCsFixer\Config::create()
->setRiskyAllowed(true)
->setRules([
'@PSR2'                                => true,    // 遵循PSR2
//'@Symfony'                              => false,
//'@Symfony:risky'                        => false,
'array_syntax'                          => ['syntax' => 'short'],
'combine_consecutive_unsets'            => true,  //多个unset,合并成⼀个
//one should use PHPUnit methods to set up expected exception instead of annotations
'general_phpdoc_annotation_remove'      => ['expectedException', 'expectedExceptionMessage', 'expectedExceptionMessageRegExp'], //phpdocs中应该省略已经配置的注释        //'header_comment'                        => array('header' => $header), //添加,替换或者删除 header 注释。
'heredoc_to_nowdoc'                    => true,  //删除配置中多余的空⾏和/或者空⾏。
'no_extra_consecutive_blank_lines'      => ['break', 'continue', 'extra', 'return', 'throw', 'use', 'parenthesis_brace_block', 'square_brace_block', 'curly_brace_block'],
'no_unreachable_default_argument_value' => false, //在函数参数中,不能有默认值在⾮缺省值之前的参数。有风险
'no_useless_else'                      => true,  //删除⽆⽤的eles
'no_useless_return'                    => true,  //删除函数末尾⽆⽤的return
'no_empty_phpdoc'                      => true,  //删除空注释
'no_empty_statement'                    => true,  //删除多余的分号
'no_leading_namespace_whitespace'      => true,  //删除namespace声明⾏包含前导空格
'no_spaces_inside_parenthesis'          => true,  //删除括号后内两端的空格
'no_trailing_whitespace'                => true,  //删除⾮空⽩⾏末尾的空⽩
'no_unused_imports'                    => true,  //删除未使⽤的use语句
'no_whitespace_before_comma_in_array'  => true,  //删除数组声明中,每个逗号前的空格
'no_whitespace_in_blank_line'          => true,  //删除空⽩⾏末尾的空⽩
'ordered_class_elements'                => false, //class elements排序
'ordered_imports'                      => false, //use 排序,不使⽤,按编辑器的默认排序
//'ordered_imports'                  => [
//    'sort_algorithm' => 'length',                  // 类的use按长度由⼩到⼤排序
//],
'phpdoc_add_missing_param_annotation'  => true,  //添加缺少的 Phpdoc @param参数
'phpdoc_trim'                          => true,
//'phpdoc_trim_consecutive_blank_line_separation' => true, //删除在摘要之后和PHPDoc中的描述之后,多余的空⾏。
'phpdoc_order'                          => false,
'psr4'                                  => true,
//'strict_comparison'                    => true,  //严格⽐较,会修改代码有风险
//'strict_param'                          => true,
'ternary_operator_spaces'              => true,  //标准化三元运算的格式
'ternary_to_null_coalescing'            => true,  //尽可能使⽤null合并运算符??。需要PHP> = 7.0。
'whitespace_after_comma_in_array'      => true,  // 在数组声明中,每个逗号后必须有⼀个空格
'trim_array_spaces'                    => true,  //删除数组⾸或尾随单⾏空格
'align_multiline_comment'              => [      //每⾏多⾏ DocComments 必须有⼀个星号(PSR-5),并且必须与第⼀⾏对齐。
'comment_type' => 'phpdocs_only'
],
'array_indentation'                => true,  //数组的每个元素必须缩进⼀次
])
->setFinder($finder);
format-php-code.bat⽂件:
@echo off&title PHP格式化代码&color 0F
rem 清屏
cls
rem 设置编码
set LESSCHARSET=utf-8
set file1=.
set file2=E:\www\test\api
set file3=E:\dnmp\www\test\store
set file4=E:\dnmp\www\test\group
echo **************************************************************
echo *格式化代码帮助信息
echo *  Author:L
echo *  Created:2020/12/12
echo **************************************************************
echo *  1: 当前⽬录  %file1%
echo *  2: 指定⽬录  %file2%
echo *  3: 指定⽬录  %file3%
echo *  4: 指定⽬录  %file4%
echo ************************************************************** echo;
set input=1
set /p "input=请输⼊[默认1]:"
if "%input%"=="1" (
set files=%file1%
)
if "%input%"=="2" (
set files=%file2%
)
if "%input%"=="3" (
trim函数用于删除空格set files=%file3%
)
if "%input%"=="4" (
set files=%file4%
)
call :formatCode %files%
pause
:formatCode
echo格式化代码路径 %1
if "%1" == "" (
echo⽬录路径有误
) else (
cls
php php-cs-fixer.phar fix --config=.php_cs.dist %1
)
到上⾯地址下载php-cs-fixer.phar这个⽂件
最终⽂件结构:
使⽤⽰例:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。