PEAR_ErrorStack
[ class tree: PEAR_ErrorStack ] [ index: PEAR_ErrorStack ] [ all elements ]

Class: PEAR_ErrorStack

Source Location: /PEAR-1.10.12/PEAR/ErrorStack.php

Class Overview


Error Stack Implementation


Author(s):

Version:

  • 1.10.12

Copyright:

  • 2004-2008 Greg Beaver

Variables

Methods


Inherited Variables

Inherited Methods


Class Details

[line 141]
Error Stack Implementation

Usage:

  1.  // global error stack
  2.  $global_stack &PEAR_ErrorStack::singleton('MyPackage');
  3.  // local error stack
  4.  $local_stack = new PEAR_ErrorStack('MyPackage');



[ Top ]


Class Variables

$_contextCallback =  false

[line 194]

If set to a valid callback, this will be used to generate the error

context for an error. For PHP-related errors, this will be a file and line number as retrieved from debug_backtrace(), but can be customized for other purposes. The error might actually be in a separate configuration file, or in a database query.

  • Access: protected

Type:   false|string|array


[ Top ]

$_errorCallback = array()

[line 206]

If set to a valid callback, this will be called every time an error is pushed onto the stack. The return value will be used to determine whether to allow an error to be pushed or logged.

The return value must be one an PEAR_ERRORSTACK_* constant


Type:   false|string|array


[ Top ]

$_logger =  false

[line 213]

PEAR::Log object for logging errors
  • Access: protected

Type:   false|Log


[ Top ]

$_package =

[line 167]

Package name this error stack represents
  • Access: protected

Type:   string


[ Top ]



Method Detail

__construct (Constructor)   [line 231]

PEAR_ErrorStack __construct( string $package, [callback $msgCallback = false], [callback $contextCallback = false], [boolean $throwPEAR_Error = false])

Set up a new error stack

Parameters:

string   $package   —  name of the package this error stack represents
callback   $msgCallback   —  callback used for error message generation
callback   $contextCallback   —  callback used for context generation, defaults to getFileLine()
boolean   $throwPEAR_Error   — 

[ Top ]

getErrorMessage   [line 903]

string getErrorMessage( PEAR_ErrorStack &$stack, array $err, [string|false $template = false])

Standard error message generation callback

This method may also be called by a custom error message generator to fill in template values from the params array, simply set the third parameter to the error message template string to use

The special variable %__msg% is reserved: use it only to specify where a message passed in by the user should be placed in the template, like so:

Error message: %msg% - internal error

If the message passed like so:

  1.  $stack->push(ERROR_CODE'error'array()'server error 500');

The returned error message will be "Error message: server error 500 - internal error"

  • Access: public

Parameters:

PEAR_ErrorStack   &$stack   — 
array   $err   — 
string|false   $template   —  Pre-generated error message template

[ Top ]

getErrorMessageTemplate   [line 937]

string getErrorMessageTemplate( $code)

Standard Error Message Template generator from code

Parameters:

   $code   — 

[ Top ]

getErrors   [line 710]

array getErrors( [boolean $purge = false], [string $level = false])

Retrieve all errors since last purge

Parameters:

boolean   $purge   —  set in order to empty the error stack
string   $level   —  level name, to return only errors of a particular severity

[ Top ]

getFileLine   [line 828]

array|false getFileLine( unused $code, integer $params, [array $backtrace = null])

Standard file/line number/function/class context callback

This function uses a backtrace generated from http://www.php.net/debug_backtrace and so will not work at all in PHP < 4.3.0. The frame should reference the frame that contains the source of the error.

  • Return: either array('file' => file, 'line' => line, 'function' => function name, 'class' => class name) or if this doesn't work, then false
  • Access: public

Parameters:

unused   $code   — 
integer   $params   —  backtrace frame.
array   $backtrace   —  Results of debug_backtrace()

[ Top ]

getMessageCallback   [line 347]

array|string|false getMessageCallback( )

Get an error code => error message mapping callback

This method returns the current callback that can be used to generate error messages

  • Return: Callback function/method or false if none

[ Top ]

hasErrors   [line 695]

boolean hasErrors( [string|array $level = false])

Determine whether there are any errors on the stack

Parameters:

string|array   $level   —  Level name. Use to determine if any errors of level (string), or levels (array) have been pushed

[ Top ]

pop   [line 660]

false|array pop( )

Pop an error off of the error stack
  • Since: 0.4alpha it is no longer possible to specify a specific error level to return - the last error pushed will be returned, instead

[ Top ]

popCallback   [line 416]

array|string|false popCallback( )

Remove a callback from the error callback stack

[ Top ]

push   [line 493]

PEAR_Error|array push( int $code, [string $level = 'error'], [array $params = array()], [string $msg = false], [array $repackage = false], [array $backtrace = false])

Add an error to the stack

If the message generator exists, it is called with 2 parameters.

  • the current Error Stack object
  • an array that is in the same format as an error. Available indices are 'code', 'package', 'time', 'params', 'level', and 'context'
Next, if the error should contain context information, this is handled by the context grabbing method. Finally, the error is pushed onto the proper error stack

  • Return:

    if compatibility mode is on, a PEAR_Error is also thrown. If a PEAR_Error is returned, the userinfo property is set to the following array:

    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/Exception class
    10.  );

    Normally, the previous array is returned.


Parameters:

int   $code   —  Package-specific error code
string   $level   —  Error level. This is NOT spell-checked
array   $params   —  associative array of error parameters
string   $msg   —  Error message, or a portion of it if the message is to be generated
array   $repackage   —  If this error re-packages an error pushed by another package, place the array returned from pop() in this parameter
array   $backtrace   —  Protected parameter: use this to pass in the http://www.php.net/debug_backtrace that should be used to find error context

[ Top ]

pushCallback   [line 406]

void pushCallback( string|array $cb)

Set an error Callback If set to a valid callback, this will be called every time an error is pushed onto the stack. The return value will be used to determine whether to allow an error to be pushed or logged.

The return value must be one of the ERRORSTACK_* constants.

This functionality can be used to emulate PEAR's pushErrorHandling, and the PEAR_ERROR_CALLBACK mode, without affecting the integrity of the error stack or logging


Parameters:

string|array   $cb   — 

[ Top ]

raiseError   [line 970]

PEAR_Error raiseError( )

emulate PEAR::raiseError()

[ Top ]

setContextCallback   [line 377]

void setContextCallback( array|string|null $contextCallback)

Set a callback that generates context information (location of error) for an error stack

This method sets the callback that can be used to generate context information for an error. Passing in NULL will disable context generation and remove the expensive call to debug_backtrace()


Parameters:

array|string|null   $contextCallback   —  Callback function/method

[ Top ]

setDefaultCallback   [line 360]

void setDefaultCallback( [array|string $callback = false], [string $package = false])

Sets a default callback to be used by all error stacks

This method sets the callback that can be used to generate error messages for a singleton

  • Access: public

Parameters:

array|string   $callback   —  Callback function/method
string   $package   —  Package name, or false for all packages

[ Top ]

setDefaultLogger   [line 300]

void setDefaultLogger( &$log, Log $log)

Set up a PEAR::Log object for all error stacks that don't have one
  • Access: public

Parameters:

Log   $log   — 
   &$log   — 

[ Top ]

setErrorMessageTemplate   [line 959]

string setErrorMessageTemplate( $template)

Set the Error Message Template array

The array format must be:

 array(error code => 'message template',...)

Error message parameters passed into push() will be used as input for the error message. If the template is 'message %foo% was %bar%', and the parameters are array('foo' => 'one', 'bar' => 'six'), the error message returned will be 'message one was six'


Parameters:

   $template   — 

[ Top ]

setLogger   [line 313]

void setLogger( &$log, Log $log)

Set up a PEAR::Log object for this error stack

Parameters:

Log   $log   — 
   &$log   — 

[ Top ]

setMessageCallback   [line 329]

void setMessageCallback( array|string $msgCallback)

Set an error code => error message mapping callback

This method sets the callback that can be used to generate error messages for any instance


Parameters:

array|string   $msgCallback   —  Callback function/method

[ Top ]

singleton   [line 254]

PEAR_ErrorStack &singleton( string $package, [callback $msgCallback = false], [callback $contextCallback = false], [boolean $throwPEAR_Error = false], [string $stackClass = 'PEAR_ErrorStack'])

Return a single error stack for this package.

Note that all parameters are ignored if the stack for package $package has already been instantiated

  • Access: public

Parameters:

string   $package   —  name of the package this error stack represents
callback   $msgCallback   —  callback used for error message generation
callback   $contextCallback   —  callback used for context generation, defaults to getFileLine()
boolean   $throwPEAR_Error   — 
string   $stackClass   —  class to instantiate

[ Top ]

staticGetErrors   [line 776]

array staticGetErrors( [boolean $purge = false], [string $level = false], [boolean $merge = false], [array $sortfunc = array('PEAR_ErrorStack', '_sortErrors')])

Get a list of all errors since last purge, organized by package
  • Since: PEAR 1.4.0dev BC break! $level is now in the place $merge used to be
  • Access: public

Parameters:

boolean   $purge   —  Set to purge the error stack of existing errors
string   $level   —  Set to a level name in order to retrieve only errors of a particular level
boolean   $merge   —  Set to return a flat array, not organized by package
array   $sortfunc   —  Function used to sort a merged array - default sorts by time, and should be good for most cases

[ Top ]

staticHasErrors   [line 749]

boolean staticHasErrors( [string|false $package = false], [string $level = false])

Determine whether there are any errors on a single error stack, or on any error stack

The optional parameter can be used to test the existence of any errors without the need of singleton instantiation

  • Access: public

Parameters:

string|false   $package   —  Package name to check for errors
string   $level   —  Level name to check for a particular severity

[ Top ]

staticPop   [line 679]

boolean staticPop( string $package)

Pop an error off of the error stack, static method
  • Since: PEAR1.5.0a1

Parameters:

string   $package   —  package name

[ Top ]

staticPopCallback   [line 443]

array|string|false staticPopCallback( )

Remove a temporary overriding error callback

[ Top ]

staticPush   [line 603]

PEAR_Error|array staticPush( string $package, int $code, [string $level = 'error'], [array $params = array()], [string $msg = false], [array $repackage = false], [array $backtrace = false])

Static version of push()
  • Return: if compatibility mode is on, a PEAR_Error is also thrown. see docs for push()
  • Access: public

Parameters:

string   $package   —  Package name this error belongs to
int   $code   —  Package-specific error code
string   $level   —  Error level. This is NOT spell-checked
array   $params   —  associative array of error parameters
string   $msg   —  Error message, or a portion of it if the message is to be generated
array   $repackage   —  If this error re-packages an error pushed by another package, place the array returned from pop() in this parameter
array   $backtrace   —  Protected parameter: use this to pass in the http://www.php.net/debug_backtrace that should be used to find error context

[ Top ]

staticPushCallback   [line 433]

void staticPushCallback( string|array $cb)

Set a temporary overriding error callback for every package error stack

Use this to temporarily disable all existing callbacks (can be used to emulate the @ operator, for instance)


Parameters:

string|array   $cb   — 

[ Top ]

_log   [line 624]

void _log( array $err, array $levels)

Log an error using PEAR::Log
  • Access: protected

Parameters:

array   $err   —  Error array
array   $levels   —  Error level => Log constant map

[ Top ]

_sortErrors   [line 804]

void _sortErrors( $a, $b)

Error sorting function, sorts by time
  • Access: public

Parameters:

   $a   — 
   $b   — 

[ Top ]


Documentation generated on Sun, 19 Apr 2020 14:22:13 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.