php的编码规范虽然没有像javascript那样集中,有eslint这样的统一标准(见我的这篇文章),但也是有规律可循的。最简单的莫过于直接使用phplint,但是phplint真的实在太弱了,所以目前业界比较流行的是使用PHP CodeSniffer,简称phpcs。phpcs只是一个代码规范工具,它里面的规则,还是要看你到底开发的是什么类型的项目。在代码规范方面,没有所谓的个人喜好,而只有项目规范。如果你开发的是WordPress项目,那就要遵守WordPress规范,如果你开发的是Laravel或者Yii项目,那就要遵守PSR2规范。

  1. 安装phpcs
    pear install PHP_CodeSniffer

如果不成功的话,可能需要sudo一下。在Mac上安装完之后,它会被大致安装到以下路径:
可执行文件:/usr/local/Cellar/php56/5.6.10/bin/phpcs
代码:/usr/local/Cellar/php56/5.6.10/lib/php/PHP/CodeSniffer
配置文件:/usr/local/Cellar/php56/5.6.10/lib/php/data/PHP_CodeSniffer/
安装完之后,你可能需要sudo ln -s /usr/local/Cellar/php56/5.6.10/bin/phpcs /usr/local/bin/phpcs一下,以便可以直接使用phpcs命令来访问。
如果一切正常的话,你执行phpcs --version可以看到版本号了。
执行phpcs -i可以看到它已经预先安装好一些标准了:

The installed coding standards are MySource, PEAR, PHPCS, PSR1, PSR2, Squiz, Zend
  1. 在atom中安装linter-phpcs

  2. 在linter-phpcs的配置项下Code Standard Or Config File里,放入PSR2,就可以以PSR2标准来检查你的代码了。PSR2是PHP-FIG小组的标准,而PHP-FIG小组2009年成立,是试图统一规划所有PHP框架的小组,因为PHP的框架实在是太多了,如果没有一个统一的规范,各自为政的话,太乱。所以目前Yii2以及Laravel都开始遵循PSR2。

  3. 如果你开发的是WordPress项目,WordPress有它自己的规范,与PSR2很不相同,所以还需要找一个地方先安装好WordPress规范,然后才能用:

    git clone -b master https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git wpcs
    安装好之后执行phpcs --config-set installed_paths ~/Desktop/wpcs,它会在phpcs的配置文件里加入一句话,告诉phpcs去这里找额外增加的规范。然后再次执行phpcs -i,你会发现多了一些内容:

The installed coding standards are MySource, PEAR, PHPCS, PSR1, PSR2, Squiz, Zend, WordPress, WordPress-Core, WordPress-Docs, WordPress-Extra and WordPress-VIP

然后你可以在atom的linter-phpcs配置项上采用WordPress标准了。

atom和phpcs相关推荐

  1. Atom:Uncaught TypeError: Right-hand side of 'instanceof' is not callable(markdown-scroll-sync)

    atom安装markdown-scroll-sync 版本2.1.2,发现同步滚动不起作用.异常 TypeError: Right-hand side of 'instanceof' is not c ...

  2. atom搭建markdown环境

    1. 搭建markdown环境 > 禁用atom自带的markdown-preview插件(功能简单) > 安装插件:markdown-preview-plus@2.4.16(在markd ...

  3. Ubuntu中Atom编辑器显示中文乱码的处理方法

    在Ubuntu14.04 64位机上安装Atom,依次在终端输入如下命令: 1. $ sudo add-apt-repository ppa:webupd8team/atom 2. $ sudo ap ...

  4. 【ubuntu工具】Atom的简介及安装

    Atom中文社区:https://atom-china.org/ 知乎atom:https://www.zhihu.com/question/22867204 Atom,是github用nodejs编 ...

  5. 云终端处理器——Atom

    由于上周展会的缘故,开始对云终端[I]处理器产生兴趣,接下来在"物理层"[II]来理解下X86-Atom,ARM,MIPS三种处理器,这是第一篇,主Atom Intel公司的官网简 ...

  6. atom 中首次使用git_使用Atom获得更好的Git提交消息

    atom 中首次使用git by Hasit Mistry 通过Hasit Mistry 使用Atom获得更好的Git提交消息 (Get Better Git Commit Messages with ...

  7. Ubuntu中Atom安装与使用

    1. Atom是类IDE的文件编译器 Atom是Github开源的文本编辑器,这个编辑器完全是使用Web技术构建的.启动速度快,提供很多常用功能的插件和主题,可以说Atom已经足以胜任"半个 ...

  8. linux兼容性,Atom 1.23发布:功能增强,兼容性更好

    导读 GitHub发布了Atom 1.23,这是开源和跨平台文本编辑器的月度更新.除了一个月的增强功能,Atom 1.23附带了一个用于注册URI处理程序函数的包的功能,当用户访问一个以"a ...

  9. Atom介绍和安装步骤

    Atom是全然基于web技术开发而成的一款编辑器,其底层架构依赖于chromium,google chrome浏览器也是基于此.编辑器的每一个窗体都是本地渲染的web页面,而且其风格与时下流行的sub ...

最新文章

  1. Hibernate4一对一关系映射(共享主键方式)
  2. MPLS 具有哪些特点?——Vecloud
  3. C语言结构体值复制与字符数组值复制的比较测试
  4. testing your idea
  5. SSIS的文件系统任务实例(zz)
  6. linux服务配置大全 fedora 8 ftp 百度文库,Linux下VSFTP配置全攻略
  7. 攀爬者(洛谷P5143题题解,Java语言描述)
  8. pytorch修改tensor数据类型
  9. 推箱子如何实现悔步_推箱子时代又来临,表里世界会发生什么?
  10. UVA621 Secret Research【水题】
  11. 【Oracle】进阶知识进一步了解
  12. javaweb java代码写在哪里_写了那么多年 Java 代码,终于 debug 到 JVM 了
  13. cad隐藏图层命令快捷键_CAD各种插件大全汇总,1G多绘图神器+快捷键命令大全,无套路分享...
  14. AutoCAD2000~2010完整版下载地址
  15. 扣费克星 1.72 更新说明
  16. python 残差图_python 残差
  17. RS232与TTL电平的区别
  18. 远程桌面连接不能复制粘贴怎么办 远程控制电脑无法复制粘贴的解决方法
  19. 【VUE/H5】H5调起数字键盘的坑,及手写移动端键盘代码
  20. PnL Explained FAQ

热门文章

  1. jquery获取元素的值,获取当前对象的父对象等等
  2. Nginx模块参考手册中文版
  3. 成功网管员必备“硬件”素质
  4. Java:使用synchronized和Lock对象获取对象锁
  5. python之re模块
  6. 大学录取通知书也越来越科技范儿
  7. 《数据科学:R语言实现》——3.12 估计缺失数据
  8. iOS中 UITableViewCell cell划线那些事 韩俊强的博客
  9. angular2初入眼帘之-搭个环境
  10. 北京公交线路查询(离线)