PHPLint
PHP June 28th, 2007
ちょっと面白そうなのでPHPLintを試している。スタンドアロン版とウェブ版があり、Mac OS Xではスタンドアロン版のビルドに失敗したのでウェブサーバ上でコマンドラインで動かしている。
ちょっと細かいところもあって、こんなコードはひっかかってしまう。
$file = "/tmp/test";
$fp = fopen($file, 'w');
if(!$fp){ //<=ココがダメ
die("can't open " . $file . "\n");
}else{
fputs($fp, "This is the last day and the last day is mine!");
fclose($fp);
}
ちなみに正しいのは
if($fp === FALSE){
if($fp = fopen($file, 'w') === FALSE){
渡されたファイルにない別のファイルに定義された関数を使っていて、その関数が一度しか登場しないとスペルミスの可能性を指摘される。あと、デフォルトでは組み込み関数はみんな未定義になっている。ううむ。