ラベル エラー制御演算子 の投稿を表示しています。 すべての投稿を表示
ラベル エラー制御演算子 の投稿を表示しています。 すべての投稿を表示

2010年12月14日火曜日

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

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

たとえば

@file($filename);

とか

@file_get_contents($url);

など。

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

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

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