PHP Classes

File: Inter_Error_PHP5/0Intro_Error_ENGLISH.txt

Recommend this page to a friend!
  Classes of Horse Luke   Inter Error and Exception Handler   Inter_Error_PHP5/0Intro_Error_ENGLISH.txt   Download  
File: Inter_Error_PHP5/0Intro_Error_ENGLISH.txt
Role: Documentation
Content type: text/plain
Description: usage and demo of Inter_Error class (English)
Class: Inter Error and Exception Handler
Log or display errors and exceptions
Author: By
Last change: By default, it will not log E_STRICT
Date: 13 years ago
Size: 4,270 bytes
 

Contents

Class file image Download
$Id: 0Intro_Error_ENGLISH.txt 174 2011-03-15 04:51:10Z horseluke@126.com $ <?php /* Error.php is an independent file. PHP VERSION MUST BE >= 5.0.0. You should use Inter_Error_PHP4.php file while PHP >= 4.3.0 & < 5.0.0 */ //Usage(Demo): date_default_timezone_set('PRC'); //(PHP >= 5.1.0 MUST TO DO SO)Sets the default timezone used by all date/time functions in a script. This demo sets the PRC timezone require_once("Error.php"); //require / require_once Error.php at a proper place as you wish //Sets a user function (error_handler & exception_handler) to handle errors in a script set_exception_handler(array('Inter_Error', 'exception_handler')); set_error_handler(array('Inter_Error', 'error_handler'), E_ALL); if(version_compare(PHP_VERSION, '5.2', '>=')){ register_shutdown_function(array('Inter_Error', 'detect_fatal_error')); } //Setting Inter_Error::$conf : /** * keys and the default value in static property Inter_Error::$conf : * debugMode: * Open debug mode? If true, it will show at the end of the webpage in web browser * option: false(default)/true * var type: bool * * friendlyExceptionPage: * while debugMode is false and occur an exception, which html file should be display (by using 'require') * leave it blank if you do not want to take effect. * option: ''(blank, default)/any directory value * var type: string * * logType: * Define how to log the errors. * 'detail': log with the trace info. Not recommend using this value in deploy environment unless you are facing a difficult problem * 'simple': log without the trace info. * false: do not log * option: false(default)/'detail'/'simple' * var type: bool|string * * logDir: * The directory to save the log file. Do not have '/' or '\' at the end of the script * This setting is affected by 'logType'. If 'logType' is false, it will do nothing. * But if 'logType' is not false, and this setting is blank or is not a directory. it will log error by using setting in php.ini. * option: ''(blank, default)/any directory value * var type: string * * suffix: * the suffix of the log file * option: '-Inter-ErrorLog.log'(default) * var type: string * * variables: * the key you want to export and show variables in $GLOBALS * option: array("_GET", "_POST", "_SESSION", "_COOKIE")(default) * var type: array * * ignoreERROR: * Some program can easily generate many E_NOTICEs and E_STRICTs. You can omit them by changing array setting 'ignoreERROR' * Predefined Constants in Error Handling: http://docs.php.net/manual/en/errorfunc.constants.php * By default, it will not log E_STRICT. But you should be careful not to overwrite the default setting. * Here is a example: * <pre> * Inter_Error::$conf['ignoreERROR'] = array(E_NOTICE, E_STRICT); //will overwrite ignoreERROR default setting, but remain not to log E_STRICT * </pre> * option: array(E_STRICT)(default) * var type: array */ Inter_Error::$conf['debugMode'] = true; //Inter_Error::$conf['friendlyExceptionPage']='1234.htm'; //Inter_Error::$conf['logType'] = 'simple'; //Inter_Error::$conf['logDir'] = dirname(__FILE__).'/Log'; //Inter_Error::$conf['ignoreERROR'] = array(E_NOTICE, E_STRICT); //demo code that can generate the error $variable1 = '1111'; function a(){ b(); } function b(){ echo $k; echo 1/0; } function c(){ //sometimes you want to know how and where function c is called. //Now you can use trigger_error to show the executing procedure at the end of the webpage. trigger_error('function c is running~', E_USER_WARNING); throw new exception('Exception Occur!'); } a(); //If you want to export and show some variables in $GLOBALS, //you can use: Inter_Error::$conf['variables'] = array(xxxxxxxxxx, xxxxxx, ...); //then: Inter_Error::show_variables(); //Attention: Inter_Error::show_variables() will be called automatically if any php error occurs and 'debugMode' is true. /* Inter_Error::$conf['variables'] = array("_GET", "_POST", "_SESSION", "_COOKIE", "variable1", "variable2"); echo '<hr />'; Inter_Error::show_variables(); echo '<hr />'; */ c();