php-cs-fixer编码格式化工具怎么用

发布时间:2021-09-14 15:39:39 作者:小新
来源:亿速云 阅读:134

这篇文章主要介绍了php-cs-fixer编码格式化工具怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

php-cs-fixer - PHP 编码格式化工具

php-cs-fixer 是个代码格式化工具,格式化的标准是 PSR-1、PSR-2 以及一些 symfony 的标准。这个工具也和 symfony、twig 等优秀的 PHP 库出自同门。

安装与更新

需要使用 PHP 5.3.6 以上的版本。

你可以直接下载封装好的 phar 包:php-cs-fixer.phar;

或者通过 wget 下载(下面的都是 OSX 和 Linux 上的用法):

wget http://get.sensiolabs.org/php-cs-fixer.phar -O php-cs-fixer

或者通过 curl 下载:

curl http://get.sensiolabs.org/php-cs-fixer.phar -o php-cs-fixer

下载完成后给可执行的权限,然后移动到 bin 目录下面即可:

sudo chmod a+x php-cs-fixer
sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer

这样就可以在任何地方直接使用 php-cs-fixer 命令来调用了。

也可以用过 Composer 来安装:

composer global require fabpot/php-cs-fixer

如果你是 Mac 用户、homebrew 用户并且已经 tap 过 homebrew/php 的话,也可以直接:

brew install php-cs-fixer

或者:

brew install homebrew/php/php-cs-fixer

如果后续需要更新的话:

php-cs-fixer self-update

如果是通过 homebrew 安装的:

brew upgrade php-cs-fixer

如果没有将执行文件放到 bin 目录下或者在 Windows需要使用 php php-cs-fixer.phar 代替 php-cs-fixer

用法

用法也很简单,最基本的命令参数就是 fix,直接执行时会尽可能多的根据默认标准格式化代码:

# 格式化目录 如果是当前目录的话可以省略目录
php-cs-fixer fix /path/to/dir
# 格式化文件
php-cs-fixer.phar fix /path/to/file

--verbose 选项用于展示应用了的规则,默认是文本(txt)格式。

--level 选项用于控制需要使用的规则层级:

php-cs-fixer fix /path/to/project --level=psr0
php-cs-fixer fix /path/to/project --level=psr1
php-cs-fixer fix /path/to/project --level=psr2
php-cs-fixer fix /path/to/project --level=symfony

默认情况下执行的是 PSR-2 的所有选项以及一些附加选项(主要是 symfony 相关的)。还有一些属于『贡献级别』的选项,你可以通过 --fixers 选择性的添加,--fixers 的多个条件要用逗号分开:

php-cs-fixer fix /path/to/dir --fixers=linefeed,short_tag,indentation

如果有需要的话也可以使用 -name_of_fixer 采取黑名单的方式设定禁用哪些选项。如果同时设定了 --fixers-name_of_fixer,前者的优先级更高。

同时使用 --dry-run--diff 命令可以显示出需要修改的汇总,但是并不实际修改。

通过以下方式也可以查看有哪些内容是会修改的,但是并不实际改动文件:

cat foo.php | php-cs-fixer fix --diff -

自定义配置

--config 选项可以用来设置选取目录以及文件进行分析并格式化,但是这个选项只能设置一些常见的已知的项目,比如 symfony:

# For the Symfony 2.3+ branch
php-cs-fixer fix /path/to/sf23 --config=sf23

已有选项:

更多时候,我们可以通过配置文件来自定义格式化选项以及搜索的目录和文件。自定义配置通过在项目根目录添加一个 .php_cs 文件的方式实现。

设置本身就是 PHP 代码,最后返回一个 Symfony\CS\ConfigInterface 的实例即可。你可以设置格式化的选项、级别、文件以及目录。

下面是一个简单的例子:

<?php

$finder = Symfony\CS\Finder\DefaultFinder::create()
    ->exclude('somedir') // 忽略 somedir
    ->in(__DIR__) // 当前目录
;

return Symfony\CS\Config\Config::create()
    ->fixers(['strict_param', 'short_array_syntax']) // 添加两个选项
    ->finder($finder)
;

如果你想完全自定义格式化选项,就需要将格式化级别清空,并指定好所有需要的选项:

<?php

$finder = Symfony\CS\Finder\DefaultFinder::create()
    ->in(__DIR__)
;

return Symfony\CS\Config\Config::create()
    ->level(Symfony\CS\FixerInterface::NONE_LEVEL)
    ->fixers(['trailing_spaces', 'encoding'])
    ->finder($finder)
;

你也可以通过在选项前面添加 - 的方式来禁用某些选项,比如下面这个例子不采用 PSR-0:

<?php

$finder = Symfony\CS\Finder\DefaultFinder::create()
    ->exclude('somedir')
    ->in(__DIR__)
;

return Symfony\CS\Config\Config::create()
    ->fixers(['-psr0'])
    ->finder($finder)
;

默认条件下的格式化级别是 symfony (最严格),你可以修改这个级别:

<?php

return Symfony\CS\Config\Config::create()
    ->level(Symfony\CS\FixerInterface::PSR2_LEVEL)
;

通过这些设置选项的组合,可以很轻易的定制出自己想要的效果。

你也可以通过 --config-file 选项指定 .php_cs 文件的位置。

启用缓存可以在后续的执行中加快速度,通过以下方法设置:

<?php

return Symfony\CS\Config\Config::create()
    ->setUsingCache(true)
;

编辑器插件

下面这些编辑器/IDE 的插件可以帮你简化格式化的工作:

格式化选项

除了以上这些选项以外,还有一些用户贡献的选项,这里就不再一一介绍了。

感谢你能够认真阅读完这篇文章,希望小编分享的“php-cs-fixer编码格式化工具怎么用”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

推荐阅读:
  1. json格式化工具
  2. Python 极简教程(二)编码工具

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php php-cs-fixer

上一篇:MySQL Memory存储引擎的优势及性能测试

下一篇:docker push镜像到dockerhu的过程

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》