Web aym.pekori.to

関数の TRUE/FALSE 返り値

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

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

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

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

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