3 function debug($set=null) {
9 return $debug ?
true : false;
14 * print_r avec un jolis formatage
19 echo "\n"; print_r($v); echo "\n";
23 * var_dump avec un jolis formatage
27 $args = func_get_args();
28 echo "\n"; call_user_func_array('var_dump',$args); echo "\n";
31 function backtrace($backtrace) {
32 $err_backtrace = " Backtrace :\n=============\n\r";
33 foreach($backtrace as $t) {
34 $err_backtrace.= 'File : '.((isset($t['file'])) ?
$t['file']:'[PHP KERNEL]').((isset($t['line'])) ?
':'.$t['line'] : '') . "\n".
35 'Function : '.$t['function']."\n";
36 if (isset($t['class'])) {
37 $err_backtrace.= 'Class : '.$t['class']."\n";
39 if (isset($t['type'])) {
40 $err_backtrace.= 'Type : '.$t['type']."\n";
42 /*if (isset($t['args']) && !empty($t['args']) && $t['function'] != 'myErrorHandler') {
43 $err_backtrace.= '--== Args ==--'."\n";
46 $err_backtrace.= "\t".str_replace("\n","\n\t",ob_get_contents());
49 $err_backtrace.= "\n\n- - - - - - - - - - - - -\n\r";
51 return $err_backtrace;
55 * RuntimeException encapsule une erreur (E_WARNING, E_NOTICE, ...) PHP dans un objet héritant de Exception
57 class myRuntimeException
extends Exception
{
60 * Context d'éxécution fournit par PHP
64 protected $_context = array();
68 * Construit un objet RuntimeException
69 * @param int $level Le niveau de l'exception
70 * @param str $string La description de l'exception
71 * @param str $file Le nom du fichier où l'erreur s'est produite
72 * @param int $line La ligne du fichier où l'erreur s'est produite
73 * @param array $context Le context d'éxécution fournit par le gestionnaire d'erreur
77 function __construct($level, $string, $file, $line, $context){
78 parent
::__construct($string.' in file '.$file.' at line '.$line);
79 // on modifie la ligne et le fichier pour ne pas avoir la ligne et le fichier d'où l'exception est levée
82 $this->_level
= $level;
83 $this->_context
= $context;
89 * Remplacant le gestionnaire d'erreur natif PHP. IL permet de lever une exception capturable dans un bloc catch
90 * pour les fonction/methode ne levant pas d'exception.
91 * @param int $level Niveau de l'erreur PHP
92 * @param str $string Description de l'erreur
93 * @param str $file Chemin d'accés au fichier dans lequel l'erreur s'est produite
94 * @param int $line Ligne de $file où l'erreur s'est produite
95 * @param array $context Un contexte d'éxécution fournit par PHP
100 function myErrorHandler($level, $string, $file, $line, $context){
102 throw new myRuntimeException($level, $string, $file, $line, $context);