我最近一直在研究一个编码标准,并想根据这个标准使用代码嗅探器来检查我的文件。因为我是 Codesniffer 的新手,所以我想在创建自己的标准之前先测试标准。
然而,我遇到了代码嗅探器的问题,我不确定这是一个错误还是我做错了什么。
pear install CodeSniffer
在我尝试在我的测试文件上使用不同的标准之后,我使用命令行命令安装了 pear install code sniffer :
<?php
public class Application_IndexController() {
DEFINE WEBSITE_URL = 'https://localhost/';
public $avast = '';
private $_ye = '';
protected $_swabs = '';
public setAvast($avast){
$this->avast = $avast;
}
private getYe(){
return $this->_ye;
}
protected changeProtected($_swabs){
if($_swabs && $this->swabs) {
$this->_swabs = $swabs;
} elseif($swabs) {
$this->_swabs = $swabs;
} else {
return null;
}
}
public iDontKnowWhatImDoing($harhar) {
Switch($harhar) {
case 1:
$yargh = "Avast ye "
. "swabs!";
echo $yargh;
break;
default:
$array = array(
"Sailor 1", "Sailor 2", "Sailor 3",
"Sailor 4", "Sailor 5", "Sailor 5"
);
break;
}
}
}
?>
可以说我在写这个文件时心情很傻,但无论如何它都实现了它的目的。
我已经在这个文件上运行了所有标准,其中只有几个真正起作用,另一个似乎一直返回相同的错误。
'generic'、'psr1' 和 'psr2' 标准工作得非常好,但 'phpcs'、'pear'、'mysource'、'zend' 和 'squiz' 标准都会导致一个错误:
$stackPtr is not a class member var
包括 phpcs 自己的标准在内,8 个中有 5 个不起作用,这似乎很奇怪。