関数名の頭に@(アットマーク)の謎

/ php

実践でPHPを習得しよう企画、3日目。企画はいま思いついたけど、3日前からやっているから、3日目。

PEARでインストールしたライブラリを眺めていると、見たことのない記法を発見。

if (file_exists($filename)) {
     @unlink($filename);
}

関数名の頭にある@(アットマーク)は、PHP特有のエラー制御演算子というものらしい。これを書くと、その処理内でエラーがあっても出力されなくなる。なるほど、ライブラリに余計なエラーログを吐かれるのは迷惑ってことか。

詳細はPHPマニュアルを参照。

関数名とかじゃなく、式全般で使えるのね。でも、通常の開発では使うことは無さそう。ライブラリでエラーが出たときに、この@演算子を外すばエラー詳細を確認できるというノウハウってところでしょうか。

演算子でつまづくとは、習得の道のりは険しい。

このエントリーのトラックバックURL
http://www.deftrash.com/admin/mt4/mt-tb.cgi/443