17,44 → 17,37 |
* |
*/ |
class GestionnaireException { |
|
/** |
* Liste des exceptions enregistrées |
*/ |
|
const MODE_CLI = 'cli'; |
|
/** Liste des exceptions enregistrées */ |
private static $exceptions = array(); |
|
/** |
* Détermine si l'on affiche ou non le contexte |
*/ |
/** Détermine si l'on affiche ou non le contexte */ |
private static $contexte = false; |
|
/** |
* Détermine si l'on loggue ou non les erreurs |
*/ |
/** Détermine si l'on loggue ou non les erreurs */ |
private static $logger = false; |
|
/** |
* Détermine si l'affichage des erreurs est forcé (true) ou pas (false) à la destruction de la classe |
*/ |
/** Détermine si l'affichage des erreurs est forcé (true) ou pas (false) à la destruction de la classe */ |
private static $afficher = false; |
|
/** |
* Definit si php est lancé en ligne de commande ou en mode serveur |
*/ |
/** Definit si php est lancé en ligne de commande ou en mode serveur */ |
private static $mode = null ; |
|
/** |
* Initialise le Gestionnaire d'exceptions et d'erreur sans tenir comptes des paramêtres de config. |
*/ |
/** Initialise le Gestionnaire d'exceptions et d'erreur sans tenir comptes des paramêtres de config. */ |
public static function initialiser() { |
self::$mode = php_sapi_name(); |
// Désactivation des balises HTML dans les messages d'erreur de PHP en mode ligne de commande |
if (self::$mode == self::MODE_CLI) { |
ini_set('html_errors', 0); |
} |
|
set_exception_handler(array(get_class(),'gererException')); |
set_error_handler(array(get_class(),'gererErreur')); |
} |
|
/** |
* Configure le Gestionnaire d'exceptions et d'erreur à partir des paramêtres de config. |
*/ |
/** Configure le Gestionnaire d'exceptions et d'erreur à partir des paramêtres de config. */ |
public static function configurer() { |
self::$contexte = Config::get('fw_debogage_contexte'); |
self::$logger = Config::get('fw_log_debogage'); |
61,9 → 54,7 |
self::$afficher = Config::get('fw_debogage'); |
} |
|
/** |
* Renvoie le booleen définissant si l'on affiche le contexte ou non |
*/ |
/** Renvoie le booleen définissant si l'on affiche le contexte ou non */ |
public static function getContexte() { |
return self::$contexte; |
} |
115,7 → 106,7 |
$retour = ''; |
foreach (self::$exceptions as $cle => $e) { |
switch (self::$mode) { |
case 'cli' : |
case self::MODE_CLI : |
$retour .= $e->getMessage()."\n"; |
$retour .= 'Fichier : '.$e->getFile()."\n"; |
$retour .= 'Ligne : '.$e->getLine()."\n"; |