php的编码规范虽然没有像javascript那样集中,有eslint这样的统一标准(见我的这篇文章),但也是有规律可循的。最简单的莫过于直接使用phplint,但是phplint真的实在太弱了,所以目前业界比较流行的是使用PHP CodeSniffer,简称phpcs。phpcs只是一个代码规范工具,它里面的规则,还是要看你到底开发的是什么类型的项目。在代码规范方面,没有所谓的个人喜好,而只有项目规范。如果你开发的是WordPress项目,那就要遵守WordPress规范,如果你开发的是Laravel或者Yii项目,那就要遵守PSR2规范。
安装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
在atom中安装
linter-phpcs
在linter-phpcs的配置项下
Code Standard Or Config File
里,放入PSR2,就可以以PSR2标准来检查你的代码了。PSR2是PHP-FIG小组的标准,而PHP-FIG小组2009年成立,是试图统一规划所有PHP框架的小组,因为PHP的框架实在是太多了,如果没有一个统一的规范,各自为政的话,太乱。所以目前Yii2以及Laravel都开始遵循PSR2。-
如果你开发的是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标准了。