基底クラス 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-2010 BBB All rights reserved.