Tag Archives: Atom

mac Atom php静态代码检查phpcs,phpmd

首先 你的mac 得安装atom

你的mac有PHP环境

linter-phpcs 主要检查格式 linter-phpmd主要检查语法

1、sudo  pear install PHP_CodeSniffer

如果一切正常的话,你执行phpcs --version可以看到版本号了。
执行phpcs -i可以看到它已经预先安装好一些标准了:

The installed coding standards are MySource, PEAR, PHPCS, PSR1, PSR2, Squiz, Zend

一般第一次会遇到


Warning: include_once(PHP/CodeSniffer/CLI.php): failed to open stream: No such file or directory in /usr/local/bin/phpcs on line 21

Warning: include_once(): Failed opening 'PHP/CodeSniffer/CLI.php' for inclusion (include_path='.:') in /usr/local/bin/phpcs on line 21

Fatal error: Class 'PHP_CodeSniffer_CLI' not found in /usr/local/bin/phpcs on line 24

用以下命令找出路径

pear config-get php_dir

我的执行结果是:‘/usr/lib/php/pear’

然后修改php.ini,添加或修改一行

include_path = ".:/usr/lib/php/pear"

再执行phpcs -i 就正常了。

 

配置文件: /usr/lib/php/pear/data/PHP_CodeSniffer/CodeSniffer.conf

这样PHP_CodeSniffer就安装好了 。

接下来就是配置Atom 插件了。

安装linter-phpcs 插件。启用  这样就可以用了 。(无需配置)

系统中安装phpmd

composer global require phpmd/phpmd

系统中安装linter-phpmd插件

apm install linter-phpmd

安装完后来测试可以看到系统中。有了phpmd命令。
这时再Atom中编辑php文件就会自动检查了。

在linter-phpmd安装的过程中我的出现了如下故障:

[Linter] Error running PHPMD Error: Failed to spawn command `phpmd`. Make sure `phpmd` is installed and on your PATH(…)

解决方法:

找到本地phpmd 的安装路径:我的/Users/eric/.composer/vendor/bin

然后 

也可以直接编辑  ~/.atom/init.coffee这个文件。

 

最终效果

 

phpstorm 上安装这些插件参考:http://confluence.jetbrains.com/display/PhpStorm/PHP+Mess+Detector+in+PhpStorm#PHPMessDetectorinPhpStorm-1.EnablePHPMessDetectorintegrationinPhpStorm

编辑自定义规则参考:http://www.kancloud.cn/bajiao/phpmd/128478