関数の true/false 返り値

ほとんどの内部関数が書き直されたのに伴い、PHP/FI 2.0 では成功時に 0 、失敗時に -1 を返していたのが、それぞれ TRUE と FALSE を返す ように変更されました。この新しい振る舞いにより、 $fp = fopen("/your/file") だとか fail("darn!"); のような より論理的なコードを書く事ができるようになりました。PHP/FI 2.0 には、関数がその実行に失敗した時に何を返すべきかという明瞭な ルールがなかったので、そのようなスクリプトのほとんどは、2.0 から 3.0 のコンバータを使った後に、手作業でチェックしなければならないと 思います。

例 A-9. 2.0 からの移行:返り値、古いコード


$fp = fopen($file, "r");
if ($fp == -1);
    echo("$file を読み込み用として開くことができませんでした<br>\n");
endif;

例 A-10. 2.0 からの移行:返り値、新しいコード


$fp = @fopen($file, "r") or 
  print("$file を読み込み用として開くことができませんでした<br>\n");