私は最近コーディング標準に取り組んでおり、codesnifferを使用してこの標準に従ってファイルをチェックしたいと思います。私はCodesnifferを初めて使用するので、独自の標準を作成する前に、まず標準をテストすることにしました。
しかし、codesnifferで問題が発生しました。これがバグなのか、間違っているのかわかりません。
コマンドラインコマンドを使用してpearinstallcode snifferを使用したpear install CodeSniffer
後、テストファイルでさまざまな標準を使用してみました。
<?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つが機能しないのはかなり奇妙に思えます。