Class de debug qui enregistre des messages de 3 types différents :
Il est aussi possible de donner un niveau d'importance aux messages.
$localDebug = new Debug("truc"); // Initialisation de la class $localDebug->localError("pif paf pouf !"); // Enregistre un debug error instance $localDebug->localInfo("pigeoonnnn !!!"); // Enregistre un debug info instance $localDebug->localAction("zip boum !"); // Enregistre un debug action instance Debug::error("attention tout va péter !!!"); // Enregistre un debug error général Debug::info("tiens, une mouche ..."); // Enregistre un debug info général Debug::action("Paf le chien !"); // Enregistre un debug action général Debug::showAll(); // Affichage de l'historique de debug (sortie html, dans un <ul>)
Visibilité | Nom | Param 1 | Param 2 | Param 3 | Description |
---|---|---|---|---|---|
public | localError | string $message | int $level | Enregistre $message comme une erreur de niveau $level pour l'instance | |
public | localInfo | string $message | int $level | Enregistre $message comme une information de niveau $level pour l'instance | |
public | localAction | string $message | int $level | Enregistre $message comme une action de niveau $level pour l'instance | |
static public | error | string $message | int $level | Enregistre $message comme une erreur générale de niveau $level | |
static public | info | string $message | int $level | Enregistre $message comme une information générale de niveau $level | |
static public | action | string $message | int $level | Enregistre $message comme une action générale de niveau $level | |
static public | show | array $types | int $level | bool $instance | Affichage du debug. Par défaut, ça affiche les 3 types de message de niveau 3, sans les instances. |
Création
/** * Class de debug * @package com.neolao * @author neolao <neo@neolao.com> * @version 1.0 (14/03/2005) * @link http://resources.neolao.com/php/classes/debug */ class Debug { // ----------------------------- CONSTANTES -------------------------------- // ----------------------------- VARIABLES --------------------------------- /** * L'historique des messages de debug * @var array */ private static $_history; /** * L'historique des messages de l'instance * @var array */ private $_instHistory; /** * Nom de l'instance * @var string */ private $_instName; /*===================== CONSTRUCTEUR & DESCTRUCTEUR ======================*/ /*========================================================================*/ /** * Initialisation de la class * @param string $name L'identifiant de l'instance Debug */ public function Debug($name){ $this->_instName = $name; } /*=============== FIN = CONSTRUCTEUR & DESCTRUCTEUR = FIN ================*/ /*========================================================================*/ /*========================== METHODES PUBLIQUES ==========================*/ /*========================================================================*/ /** * Enregistre un debug error instance * @param string $message Le message à enregistrer * @param int $level Le niveau du message */ public function localError($message, $level=1){ $o = array("type"=>"error", "level"=>$level, "instance"=>true, "message"=>$message); array_push($this->_insthistory, $o); array_push(self::_history, $o); } /** * Enregistre un debug info instance * @param string $message Le message à enregistrer * @param int $level Le niveau du message */ public function localInfo($message, $level=1){ $o = array("type"=>"info", "level"=>$level, "instance"=>true, "message"=>$message); array_push($this->_insthistory, $o); array_push(self::_history, $o); } /** * Enregistre un debug action instance * @param string $message Le message à enregistrer * @param int $level Le niveau du message */ public function localAction($message, $level=1){ $o = array("type"=>"error", "level"=>$level, "instance"=>true, "message"=>$message); array_push($this->_insthistory, $o); array_push(self::_history, $o); } /** * Enregistre un debug error général * @param string $message Le message à enregistrer * @param int $level Le niveau du message */ public static function error($message, $level=1){ array_push(self::_history, array("type"=>"error", "level"=>$level, "instance"=>false, "message"=>$message)); } /** * Enregistre un debug info général * @param string $message Le message à enregistrer * @param int $level Le niveau du message */ public static function info($message, $level=1){ array_push(self::_history, array("type"=>"info", "level"=>$level, "instance"=>false, "message"=>$message)); } /** * Enregistre un debug action général * @param string $message Le message à enregistrer * @param int $level Le niveau du message */ public static function action($message, $level=1){ array_push(self::_history, array("type"=>"action", "level"=>$level, "instance"=>false, "message"=>$message)); } /** * Affichage de l'historique de debug (sortie navigateur) * @param array $types La liste des types de message à afficher * @param int $level Le niveau de debug * @param bool $instance Indique s'il faut afficher le debug des instances */ public static function show($types=array("error", "info", "action"), $level=3, $instance=false){ for($i; $i<count(self::_history); $i++){ echo "<ul class=\"debug\">"; if(in_array(self::_history["type"], $types) && self::_history["level"] <= $level && self::_history["instance"] == $instance){ echo "<li class=\"".self::_history["type"]."\">"; switch(self::_history["type"]){ case "error": echo "[ERR] "; break; case "info": echo "[INF] "; break; case "action": echo "[ACT] "; break; } echo self::_history["message"]; echo "</li>"; } echo "</ul>"; } } /*==================== FIN = METHODES PUBLIQUES = FIN ====================*/ /*========================================================================*/ }