2,18 → 2,18 |
// declare(encoding='UTF-8'); |
/** |
* classe de gestion des erreurs. |
* |
* PHP Version 5 |
* |
* |
* PHP Version 5 |
* |
* @category Class |
* @package Framework |
* @author Jean-Pascal Milcent <jpm@tela-botanica.org> |
* @copyright 2009 Tela-Botanica |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version SVN: $$Id$$ |
* @link /doc/framework/ |
* |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version SVN: $$Id$$ |
* @link /doc/framework/ |
* |
*/ |
class GestionnaireErreur |
{ |
37,7 → 37,7 |
* @access private |
*/ |
private $contexte; |
|
|
/** |
* Contient le niveau d'erreur courant. Celui que l'on donne à la fonction |
* error_reporting(). |
44,14 → 44,14 |
* @access private |
*/ |
private $niveau_erreur_courant; |
|
|
/** |
* Le gestionnaire d'erreur est un singleton |
*/ |
private static $gestionnaire_erreurs; |
|
|
/*** Constructeur: ***/ |
|
|
/** |
* Construit le gestionnaire d'erreur. |
* |
64,9 → 64,9 |
$this->erreurs = array(); |
$this->setContexte($contexte); |
$this->niveau_erreur_courant = 2048 ; |
set_error_handler(array(&$this, 'gererErreur')); |
//set_error_handler(array(&$this, 'gererErreur')); |
} |
|
|
/** |
* Fonction d'accès au singleton |
* @return GestionnaireErreur le gestionnaire d'erreurs courant |
79,7 → 79,7 |
self::$gestionnaire_erreurs = new GestionnaireErreur ; |
return self::$gestionnaire_erreurs; |
} |
|
|
/*** Accesseurs: ***/ |
/** |
* Récupère le tableau des erreurs. |
94,7 → 94,7 |
/** |
* Ajoute une erreur à la liste. |
* |
* @param array une_erreur |
* @param array une_erreur |
* @return void |
* @access public |
*/ |
122,7 → 122,7 |
public function setContexte( $un_contexte ) { |
$this->contexte = $un_contexte; |
} |
|
|
/** |
* Récupère le niveau d'erreur courrant. |
* |
143,7 → 143,7 |
public function setNiveauErreurCourant( $niveau = 2048 ) { |
$this->niveau_erreur_courant = $niveau; |
} |
|
|
/** |
* Définit le niveau d'erreur courrant (synonyme fonction precedente) |
* |
154,10 → 154,10 |
public function setActive ($niveau) { |
$this->niveau_erreur_courant = $niveau; |
} |
|
|
|
|
/*** Méthodes : ***/ |
|
|
/** |
* |
* @param int niveau |
185,7 → 185,7 |
default: |
$aso_erreur['message'] = $message; |
} |
|
|
$aso_erreur['fichier'] = $fichier; |
$aso_erreur['ligne'] = $ligne; |
if ($this->getContexte()) { |
193,7 → 193,7 |
} |
$this->setErreur($aso_erreur); |
} |
|
|
echo print_r($this->erreurs,true) ; |
exit() ; |
// Si nous avons affaire à une erreur et non à un warning ou une notice, nous arrêtons l'exécution du script |
225,7 → 225,7 |
if ($aso_erreur['niveau'] == E_USER_NOTICE) { |
$retour .= $aso_erreur['message']."\n"; |
$retour .= 'Fichier : '.$aso_erreur['fichier']."\n"; |
$retour .= 'Ligne : '.$aso_erreur['ligne']."\n"; |
$retour .= 'Ligne : '.$aso_erreur['ligne']."\n"; |
} else if ($aso_erreur['niveau'] <= 512) { |
$retour .= 'INFO : Niveau '.$aso_erreur['niveau']."\n"; |
} else { |
265,8 → 265,8 |
} |
$retour .= '</p>'."\n"; |
} |
} |
|
} |
|
return $retour; |
} |
|
295,7 → 295,7 |
$retour .= 'Requete : '."\n"; |
$retour .= $requete."\n"; |
} |
|
|
if (!is_null($autres)) { |
$retour .= 'Autres infos : '."\n"; |
$retour .= $autres."\n"; |
308,18 → 308,18 |
$retour .= '<dl>'."\n"; |
$retour .= '<dt> Fichier : </dt> '; |
$retour .= '<dd> '.$fichier.'</dd>'."\n"; |
|
|
$retour .= '<dt> Méthode : </dt> '; |
$retour .= '<dd> '.$methode.'</dd>'."\n"; |
|
|
$retour .= '<dt> Message erreur : </dt> '; |
$retour .= '<dd> '.$message.'</dd>'."\n"; |
|
|
if (!is_null($requete)) { |
$retour .= '<dt> Requete : </dt> '; |
$retour .= '<dd> '.$requete.' </dd>'."\n"; |
} |
|
|
if (!is_null($autres)) { |
$retour .= '<dt> Autres infos : </dt> '; |
$retour .= '<dd> '.$autres.' </dd>'."\n"; |
329,6 → 329,6 |
$retour .= '<!-- END sql -->'."\n"; |
} |
return $retour; |
} |
} |
} |
?> |