运行Drupal Coding Standards的CommandCLI Codesniffer会出错

时间:2013-04-12 13:05:06

标签: php drupal codesniffer

我从http://drupal.org/project/coder下载了Drupal编码器包(7.x-2.0-beta2),并提取了相关的标准文件;但是当我尝试从CLI执行时,我得到了:

  

致命错误:在第1007行的/php/PEAR/PHP/CodeSniffer.php中调用未定义的方法Drupal_Sniffs_InfoFiles_ClassFilesSniff :: register()

果然,查看文件本身,ClassFilesSniff.php文件中没有定义register()方法。

有人知道这个嗅探器应该侦听哪些令牌类型,以便我可以自己添加register()吗?

如果我手动添加注册方法,则为

public function register()
{
    return array(T_CLASS);

}//end register()
然后嗅探注册,但我得到

  

导致致命错误:参数1传递给Drupal_Sniffs_InfoFiles_ClassFilesSn   iff :: process()必须是类型数组,给定对象,在/ php / P中调用   第492行的EAR / PHP / CodeSniffer / File.php,在/ php / PEAR / PHP / Co中定义   第44行的deSniffer / Standards / Drupal / Sniffs / InfoFiles / ClassFilesSniff.php

处理时

我正在使用最新的PEAR codeniffer

任何线索?

1 个答案:

答案 0 :(得分:2)

我刚刚成功删除了该错误。

尝试将您的pear配置设置为其他状态。

 pear config-set preferred_state stable

然后使用

删除CodeSniffer
pear uninstall php_codesniffer

然后重新安装

pear install --alldeps php_codesniffer

我的preferred_state设置为'alpha',但是当我将其更改为'stable'时,phpcs再次声明工作。