public final function handler($type = 'error', $action = 'restore', $callable_handler = false, $error_types = null)
{
if (empty($error_types)) {
$error_types = E_ALL | E_STRICT;
}
switch (strtolower($type)) {
case 'error':
switch (strtolower($action)) {
case 'restore':
return restore_error_handler();
break;
case 'set':
return set_error_handler($callable_handler, $error_types);
break;
default:
return false;
}
break;
case 'exception':
switch (strtolower($action)) {
case 'restore':
return restore_exception_handler();
break;
case 'set':
return set_exception_handler($callable_handler);
break;
default:
return false;
}
break;
default:
return false;
}
}