2008年4月5日土曜日

 

【PHP】演算子"@"とエラー処理

「@」でエラー抑制すると PHP が遅くなるという噂について - a++ My RSS 管理人ブログ
リンク先では最大10倍の速度差が出たようです。(追記 : 2008年5月10日)

関連

【PHP】プログラム最適化 - さぼてん : 2008年5月10日記事

PHP の式の前に"@"を付けた場合、その式により生成されたエラーメッセージは無視されます。
"@"をエラー制御演算子といいます。

track_errors 機能が 有効な場合、エラーメッセージはグローバル変数 $php_errormsg に保存されます。この変数はエラーが発生するたびに上書きされます。


<?php
$my_file = @file ('non_existent_file') or die ("Failed opening file: error was '$php_errormsg'");
// この演算子は関数だけでなく、全ての式で動作します。
$value = @$cache[$key]; 
// インデックス $key が存在しない場合でも警告を発生しません
?>
注意: @演算子は、式 でのみ動作します。~(略)~
値を得ることができるものの場合、@ 演算子を前に付けることが可能です。 例えば、変数、関数、include() コール、定数等の 前にこの演算子をつけることが可能です。
関数またはクラスの定義や ifforeach 等のような 条件構造の前にこの演算子を付けることはできません。

出力されるエラーレベルは error_reporting() 関数で設定します。

参考

エラー制御演算子 - PHP マニュアル

ラベル:


コメント: コメントを投稿

登録 コメントの投稿 [Atom]



この投稿へのリンク:

リンクを作成



<< ホーム

This page is powered by Blogger. Isn't yours?

登録 投稿 [Atom]

Google