こちら(PHP プログラマが @ を使うべきでない 5 つの理由 – 肉とご飯と甘いもの @ sotarok)発、下記の記事、
PHPでエラー抑制演算子@を正当に使ってるなぁと思ったケース – それ図解で。・・・tohokuaikiのチラシの裏includeって、正当に読み込んだかどうかの結果を返してるんですよね。
これ知らなかったです。
既にこちら(includeの返り値について – 受難系 – sideport)で触れられていますが、includeは先のファイルのreturnを引数に受けるので要注意ですね。
マニュアルにもちゃんと書いてあります。
PHP: include – Manual例5 include()とreturn()文
return.php <?php $var = 'PHP'; return $var; ?> noreturn.php <?php $var = 'PHP'; ?> testreturns.php <?php $foo = include 'return.php'; echo $foo; // 'PHP'と出力されます $bar = include 'noreturn.php'; echo $bar; // 1が出力されます ?>
perlのpackageも慣習的に最終行にreturnすら略して、
1;
と書きますよね。(最近は違うのかな?)
それを裏切って、以前の僕のエントリーの様にincludeのreturnの積極的な利用と@のエラー抑制とphpの複雑な型比較を組み合わせると、混沌とカオスが両方そなわり最強に見える。暗黒が持つと逆に頭がおかしくなって死ぬ。
そういうところを乗りこなそうと四苦八苦するのも好きです。