基底クラス PEARの関数にsetErrorHandlingという生成されたエラーの処理方法を 指定する関数があります。この関数を読んでみます。
まず目に付くのが最初のif文です。
function setErrorHandling($mode = null, $options = null)
{
if (isset($this) && is_a($this, 'PEAR')) {
$setmode = &$this->_default_error_mode;
$setoptions = &$this->_default_error_options;
} else {
$setmode = &$GLOBALS['_PEAR_default_error_mode'];
$setoptions = &$GLOBALS['_PEAR_default_error_options'];
}
//...
}
この関数は、スタティックにも呼ぶことができ、スタティックにコールされた場合 すべてのPEARオブジェクトに対するデフォルトのエラー処理動作を設定します。
オブジェクトのメソッドとしてコールされた場合、$obj->setErrorHandling()は、 そのオブジェクトだけに対してデフォルトのエラー処理動作を設定します。
注意しないといけないのは、$setmode及び$setoptionに格納されるのは、参照という ことです。
それぞれの設定は、次のようにされています。
$GLOBALS['_PEAR_default_error_mode'] = PEAR_ERROR_RETURN; $GLOBALS['_PEAR_default_error_options'] = E_USER_NOTICE; //メンバ変数として定義 var $_default_error_mode = null; var $_default_error_options = null;
あとは、引数の$modeによって動作が決定されます。
Copyright 1997-2008 BBB All rights reserved.