为什么80%的码农都做不了架构师?>>>   

php-cs-fixer简介

php-cs-fixer 是个代码格式化工具,格式化的标准是 PSR-1、PSR-2 以及一些 symfony 的标准。

安装

官方网站 github
有两个版本 v1 和 v2 ,其中 v1 需要php 5.3.6 版本以上, v2 需要 php 5.6 版本以上。升级说明
你可以直接下载最新版本封装好的 phar 包:php-cs-fixer.phar
以下都是以v2版本为例子

unix:

wget http://cs.sensiolabs.org/download/php-cs-fixer-v2.phar -O php-cs-fixer
chmod a+x php-cs-fixer
mv php-cs-fixer /usr/local/bin/php-cs-fixer

windows

下载php-cs-fixer
把php-cs-fixer 放入php目录,然后把php安装目录加入系统PATH变量

使用

/usr/local/bin/php-cs-fixer

fix就是最基本的命令

# 格式化某个目录
php-cs-fixer fix /path/to/dir
# 格式化某个文件
php-cs-fixer fix /path/to/file

--rules 选项用于对项目或者文件的规则控制:

php-cs-fixer fix /path/to/file
php-cs-fixer fix /path/to/project --rules=@PSR2
php-cs-fixer fix /path/to/dir --rules=line_ending,full_opening_tag,indentation_type
php-cs-fixer fix /path/to/dir --rules=-full_opening_tag,-indentation_type,-@PSR1

默认情况下执行的是 PSR-1 和 PSR-2 的所有选项
rules 后面支持逗号(,),减号(-)增加规则和排除多个规则
更多使用方式 手册

项目实践

一般在团队开发项目中,会通过一个配置来保证代码质量,在项目根目录添加一个 .php_cs 文件的方式实现。 下面是一个例子

$finder = PhpCsFixer\Finder::create()->files()->name('*.php')->exclude('vendor')->in(__DIR__)->ignoreDotFiles(true)->ignoreVCS(true);
$fixers = array('@PSR2' => true,'single_quote'  => true, //简单字符串应该使用单引号代替双引号;'no_unused_imports' => true, //删除没用到的use'no_singleline_whitespace_before_semicolons' => true, //禁止只有单行空格和分号的写法;'self_accessor'             => true, //在当前类中使用 self 代替类名;'binary_operator_spaces'    => true, //二进制操作符两端至少有一个空格;'no_empty_statement' => true, //多余的分号'no_extra_consecutive_blank_lines' => true, //多余空白行'no_blank_lines_after_class_opening' => true, //类开始标签后不应该有空白行;'include' => true, //include 和文件路径之间需要有一个空格,文件路径不需要用括号括起来;'no_trailing_comma_in_list_call'  => true, //删除 list 语句中多余的逗号;'no_leading_namespace_whitespace' => true, //命名空间前面不应该有空格;'standardize_not_equals' => true, //使用 <> 代替 !=;);
return PhpCsFixer\Config::create()->setRules($fixers)->setFinder($finder)->setUsingCache(false);

编辑器插件

手动对代码文件fix效率还是比较低的,所以还是需要自动化,常用的ide的插件

  • Atom (设置->安装->搜索 atom-beautify) 以下步骤以 atom-beautify 0.30.5 为例

    • atom-beautify打开设置中的Executables 找到 PHP-CS-Fixer 输入 php-cs-fixer 的 完整路径
    • atom-beaufity 的 php 选项的 Deault beautifier 设置中选择 PHP-CS-Fixer 并打开 Beautify On Save选项
    • PHP-CS-Fixer VERSION 选择 2
    • 其它选项都默认,这样设置的话,就会默认遵循根目录下的.php_cs 规则了
  • NetBeans (工具->插件->可用插件->搜索CS Fixer)
  • Vim

参考文档

php-cs-fixer

转载于:https://my.oschina.net/2688/blog/714974

php代码格式化工具 php-cs-fixer的使用相关推荐

  1. php cs fixer 怎么用,php代码格式化工具 php-cs-fixer的使用

    php-cs-fixer简介 php-cs-fixer 是个代码格式化工具,格式化的标准是 PSR-1.PSR-2 以及一些 symfony 的标准. 安装 官方网站 github 有两个版本 v1 ...

  2. php cs fixer switch,PSR规范代工厂之 php-cs-fixer 的代码合规之路

    前言 编程语言都有一套专属的语法,循其法而编其码,方能被该语言的编译器识别,从而编译成低级语言,被机器识别.而语法规范不了编码风格,编码风格是由程序员决定的,程序员的思想的天马行空,也造就了风格迥异的 ...

  3. php cs fixer config,php-cs-fixer - PHP 编码格式化工具

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

  4. php cs fixer config,使用php-cs-fixer来格式化php代码

    文档地址 到上面地址下载php-cs-fixer.phar这个文件 新建一个格式化配置文件(使用哪些规则对代码进行格式化)$header = << This file is part of ...

  5. php语法检查修复工具,代码标准修复工具 PHP CS Fixer

    授权协议: MIT 开发语言: PHP 操作系统: 跨平台 软件介绍 PHP CS Fixer 是代码标准修复工具,当你想把 PHP 编码标准定义为 PSR-1 和 PSR-2 文件标准时,它能修复你 ...

  6. php cs fixer 怎么用,详解使用php-cs-fixer格式化代码

    1. 安装 $ cd /usr/local/bin $ wget https://cs.symfony.com/download/php-cs-fixer-v2.phar -O php-cs-fixe ...

  7. PHP vscode 格式化扩展php cs fixer配置

    PHP vscode 格式化扩展php cs fixer配置 首先在扩展商店里找到php cs fixer并且安装 安装好后点击"设置"->"扩展设置" ...

  8. 推荐一个小而美的Python代码格式化工具

    代码可读性是评判代码质量的标准之一,有一个衡量代码质量的标准是 Martin 提出的 "WFT" 定律,即每分钟爆出 "WTF" 的次数.你在读别人代码或者做 ...

  9. Prettier 1.15代码格式化工具新增Angular和Vue.js支持

    Prettier 1.15代码格式化工具新增HTML.Vue.js.Angular.MDX支持以及多项语法优化和改进. 对于Angular和Vue,Prettier现在可以格式化这些扩展HTML的框架 ...

最新文章

  1. PCL点云特征描述与提取(2)
  2. Metadata Service 架构详解 - 每天5分钟玩转 OpenStack(165)
  3. clisp语言中的包
  4. 巧用ActionFilter的AOP特性,为返回的数据增加返回码和消息
  5. linux awstats搭建
  6. 【英语学习】【医学】Unit 08 The Cardiovascular System
  7. android java资源包下载网站
  8. 在Shell中,“$“和““的作用
  9. 关闭wps热点及广告弹窗推送
  10. 如何爬取中国近十年的GDP,对数据进行处理,并写入csv文件?
  11. 多功能科学计算机.,科学计算器多功能版
  12. 计算机系统结构 计算机系统结构的基本概念
  13. Python语言程序设计笔记(全)
  14. 今日收获 18/4/2
  15. 【计算机组织与体系结构】实验一:算术逻辑单元的实现
  16. Linux程序下载到板子上,uclinux系统移植到bf561板子上过程
  17. matlab矩阵错位相加,矩阵的旋转和相加——数组实现
  18. 高三学生发表AI论文,提出针对网络暴力问题的新模型AdaGCN
  19. 成功必备的15种心态
  20. 18650锂电池参数、充放电时间计算详解

热门文章

  1. 工厂模式和抽象工厂模式的区别
  2. MPLS ×××实验之OSPF sham-link
  3. 逐浪CMS4.6精彩预告之三:全新会员中心炫目登场
  4. KRKR简单使用实例开发
  5. 关于301跳转的多种办法
  6. Phpstorm数组对齐设置
  7. CLOUD配置审批流发消息
  8. vijos 观光旅游 最小环fl 呆详看
  9. JAVA 抽象与接口的区别与联系
  10. C++11新特性,利用std::chrono精简传统获取系统时间的方法