2010年12月14日火曜日

phpで関数の頭に@(アットマーク)の意味

phpで、関数名の前に@がついてるのをたまに見かけます。

たとえば

@file($filename);

とか

@file_get_contents($url);

など。

これはエラー制御演算子といって、エラーログの出力を抑制するためのものなんだそうです。
上記の例では、ファイルが存在しなかったり、エラーを吐かないようになります。

なお関数だけじゃなく、変数などでも使えるようです。

基本的にはerror_reporting等でエラー出力の設定をして、部分的な対応のみこのエラー制御演算子を使う、というやり方になるようです。

0 件のコメント:

コメントを投稿