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