Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
扩展phpcodesniffer以基于错误代码过滤报告_Php_Pear_Codesniffer - Fatal编程技术网

扩展phpcodesniffer以基于错误代码过滤报告

扩展phpcodesniffer以基于错误代码过滤报告,php,pear,codesniffer,Php,Pear,Codesniffer,我试图扩展PHPCodeSniffer。我试图实现的是使用错误代码过滤报告 为了解释这一点,假设我有一条错误消息,如“错误代码:630,函数不兼容” 当我从命令行运行PHPC时,我应该能够传递一个参数“error code”,以便根据它过滤报告。(仅显示错误代码的结果,如630) e、 g 产量将是 FILE: /path/to/code/myfile.php --------------------------------------------------------------------

我试图扩展PHPCodeSniffer。我试图实现的是使用错误代码过滤报告

为了解释这一点,假设我有一条错误消息,如“错误代码:630,函数不兼容”

当我从命令行运行PHPC时,我应该能够传递一个参数“error code”,以便根据它过滤报告。(仅显示错误代码的结果,如630)

e、 g

产量将是

FILE: /path/to/code/myfile.php
--------------------------------------------------------------------------------
FOUND 4 ERROR(S) AFFECTING 4 LINE(S)
--------------------------------------------------------------------------------
  2 | ERROR   | 603 | function is  not compatible      
 20 | ERROR   | 603 | function is  not compatible      
 51 | ERROR   | 603 | function is  not compatible      
 88 | ERROR   | 603 | function is  not compatible      
--------------------------------------------------------------------------------
实现它的最好方法是什么?据我所知,我们只能基于服务性进行过滤,因为它具有内置的支持


我希望避免修改
PHPCodeSniffer
的核心。我想做的是编写一个包装器脚本,它将接受CLI的参数并执行PHPCS捕获o/p并在将其发送到控制台之前对其进行操作。但是,我认为这不是一个最佳解决方案。

我想到了一个使用grep和wc的bash脚本。

您也可以使用这样的PHP脚本(假设这被称为my_wrapper.php):

产生如下输出:

php my_wrapper.php < cs_out.txt
FILE: /path/to/code/myfile.php
--------------------------------------------------------------------------------
FOUND 4 ERROR(S) AFFECTING 4 LINE(S)
--------------------------------------------------------------------------------
  2 | ERROR   | 601 | function is  not compatible
 20 | ERROR   | 602 | function is  not compatible
 51 | ERROR   | 603 | function is  not compatible
 88 | ERROR   | 604 | function is  not compatible
--------------------------------------------------------------------------------
FILE: /path/to/code/myfile.php
--------------------------------------------------------------------------------
FOUND 4 ERROR(S) AFFECTING 4 LINE(S)
--------------------------------------------------------------------------------
 51 | ERROR   | 603 | function is  not compatible      
--------------------------------------------------------------------------------

让$legal_codes数组的键可以通过命令行参数指定到my_wrapper.php,这是留给读者的一个练习。

如果您回答了到目前为止给出的答案,您可能会得到更多关于这个(和其他?)问题的答案。。。
FILE: /path/to/code/myfile.php
--------------------------------------------------------------------------------
FOUND 4 ERROR(S) AFFECTING 4 LINE(S)
--------------------------------------------------------------------------------
  2 | ERROR   | 601 | function is  not compatible
 20 | ERROR   | 602 | function is  not compatible
 51 | ERROR   | 603 | function is  not compatible
 88 | ERROR   | 604 | function is  not compatible
--------------------------------------------------------------------------------
FILE: /path/to/code/myfile.php
--------------------------------------------------------------------------------
FOUND 4 ERROR(S) AFFECTING 4 LINE(S)
--------------------------------------------------------------------------------
 51 | ERROR   | 603 | function is  not compatible      
--------------------------------------------------------------------------------