こちら(PHP プログラマが @ を使うべきでない 5 つの理由 – 肉とご飯と甘いもの @ sotarok)発、下記の記事、

PHPでエラー抑制演算子@を正当に使ってるなぁと思ったケース – それ図解で。・・・tohokuaikiのチラシの裏

includeって、正当に読み込んだかどうかの結果を返してるんですよね。

これ知らなかったです。

既にこちら(includeの返り値について – 受難系 – sideport)で触れられていますが、includeは先のファイルのreturnを引数に受けるので要注意ですね。

参照:includeは返り値を取る – p0t

マニュアルにもちゃんと書いてあります。

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の複雑な型比較を組み合わせると、混沌とカオスが両方そなわり最強に見える。暗黒が持つと逆に頭がおかしくなって死ぬ。

そういうところを乗りこなそうと四苦八苦するのも好きです。

Comments


Option