PEAR_ErrorStack::push

PEAR_ErrorStack::push() – エラーをスタックに追加する

Synopsis

require_once 'PEAR/ErrorStack.php';

PEAR_Error|array PEAR_ErrorStack::push ( integer $code , string $level = 'error' , array $params = array() , string $msg = = false , array $repackage = = false , array $backtrace = = false )

後方互換性のための警告

PEAR 1.3.2 では、PEAR_ErrorStack は PHP 5 の例外オブジェクトを 生成しませんし、それを返すこともありません。 この挙動に依存しているコードはうまく動作しません。

Description

もしメッセージジェネレータが存在する場合、2 つのパラメータを用いて それがコールされます。

  • カレントのエラースタックオブジェクト

  • エラーと同じフォーマットの配列。 有効なインデックスは 'code', 'package', 'time', 'params', 'level', そして 'context'

次に、もしエラーがコンテキスト情報を含んでいた場合は コンテキスト処理メソッドによって処理されます。 最後に、エラーが適切なスタックに格納されます。

Parameter

integer $code

パッケージ固有のエラーコード。

string $level

エラーレベル。スペルはチェックされません。

array $params

エラーパラメータの連想配列。

string $msg

エラーメッセージ、またはエラーメッセージの一部。

array $repackage

他のパッケージから渡されたエラーを再パッケージする場合、 このパラメータに pop() から返された配列を設定します。

array $backtrace

Protected パラメータ。エラーコンテキスト情報を取得するため、 debug_backtrace にこのパラメータを渡します。

Return value

互換性モードが on の場合には PEAR_Error もスローされます。 例外クラスが存在する場合、以下のようなコードで利用できる形式で返されます:

<?php
1      throw ($stack->
push
(MY_ERROR_CODE, 'error', array('username' => 'grob')));
?>

通常は、例外クラスの errorData プロパティの内容が配列に設定されます。 PEAR_Error が返される場合には、userinfo プロパティが配列に設定されます。

それ以外の場合は、このようなフォーマットの配列が返されます:

<?php
1      array(
2         'code' => $code,
3         'params' => $params,
4         'package' => $this->_package,
5         'level' => $level,
6         'time' =>
time
(),
7         'context' => $context,
8         'message' => $msg,
9      //['repackage' => $err] repackaged error array
10     );
?>

Throws

No exceptions thrown.

Note

This function can not be called statically.