php 代码质量检测工具,PHP代码规范质量检测工具 PHPMD PHPCS

安装

root@kerin:~/project# composer require "squizlabs/php_codesniffer=*"

root@kerin:~/project# composer require phpmd/phpmd

root@kerin:~/project# ls vendor/bin

pdepend phpcbf phpcs phpmd

也可以直接安装在系统里面

apt -y install php-codesniffer phpmd

查看已经安装的标准

root@kerwin:~/project# vendor/bin/phpcs -i

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

使用

新建测试文件

root@kerwin:~/project# vi a.php

#a.php

namespace Ctwj;

class Test{

public $test;

private $test_p;

public function __constract( )

{

$this->v = 'test';

}

}

new Test();

检测

root@kerwin:~/project# vendor/bin/phpcs ./a.php --standard=PSR2

FILE: /root/project/a.php

-----------------------------------------------------------------------------------------

FOUND 9 ERRORS AND 1 WARNING AFFECTING 8 LINES

-----------------------------------------------------------------------------------------

1 | WARNING | [ ] A file should declare new symbols (classes, functions, constants,

| | etc.) and cause no other side effects, or it should execute logic

| | with side effects, but should not do both. The first symbol is

| | defined on line 5 and the first side effect is on line 16.

5 | ERROR | [x] Opening brace of a class must be on the line after the definition

7 | ERROR | [x] Spaces must be used to indent lines; tabs are not allowed

8 | ERROR | [x] Spaces must be used to indent lines; tabs are not allowed

8 | ERROR | [x] Scope keyword "private" must be followed by a single space; found 2

10 | ERROR | [x] Spaces must be used to indent lines; tabs are not allowed

10 | ERROR | [x] Expected 0 spaces between brackets of function declaration; 1 found

11 | ERROR | [x] Spaces must be used to indent lines; tabs are not allowed

12 | ERROR | [x] Spaces must be used to indent lines; tabs are not allowed

13 | ERROR | [x] Spaces must be used to indent lines; tabs are not allowed

-----------------------------------------------------------------------------------------

PHPCBF CAN FIX THE 9 MARKED SNIFF VIOLATIONS AUTOMATICALLY

-----------------------------------------------------------------------------------------

Time: 102ms; Memory: 4Mb

--standard 是测试的标准

修复

root@kerwin:~/project# ls

a.php composer.json composer.lock vendor

root@kerwin:~/project# vendor/bin/phpcbf ./a.php --suffix=.fixed

PHPCBF RESULT SUMMARY

----------------------------------------------------------------------

FILE FIXED REMAINING

----------------------------------------------------------------------

/root/project/a.php 13 6

----------------------------------------------------------------------

A TOTAL OF 13 ERRORS WERE FIXED IN 1 FILE

----------------------------------------------------------------------

Time: 51ms; Memory: 4Mb

root@kerwin:~/project# ls

a.php a.php.fixed composer.json composer.lock vendor

--suffix 指定修复的后缀,如果如指定,会直接在原文件上修复

质量检测

root@kerwin:~/project# vendor/bin/phpmd ./fixed.php text codesize,unusedcode,naming

/root/project/fixed.php:9 Avoid unused private fields such as '$test_p'

这里检测到了一个没有使用的私有变量

其他

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值