Subversion Repositories Applications.framework

Compare Revisions

Ignore whitespace Rev 104 → Rev 105

/trunk/framework/GestionnaireErreur.php
1,61 → 1,23
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.0.4 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2005 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore-Debogage. |
// | |
// | Foobar is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
// | the Free Software Foundation; either version 2 of the License, or |
// | (at your option) any later version. |
// | |
// | Foobar is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// | GNU General Public License for more details. |
// | |
// | You should have received a copy of the GNU General Public License |
// | along with Foobar; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id$
// declare(encoding='UTF-8');
/**
* Classe de gestion des erreurs.
*
* classe de gestion des erreurs.
*
*
*@package eFlore
*@subpackage Debogage
//Auteur original :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
//Autres auteurs :
*@author aucun
*@copyright Tela-Botanica 2000-2005
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
* 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/
*
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
 
/**
* Classe GestionnaireErreur
*
* Gérer les erreurs PHP et SQL.
*/
class GestionnaireErreur
{
/*** Attributes: ***/
/*** Attributs: ***/
 
/**
* Permet de savoir si on utilise PHP en ligne de commande dans une console (PHP-CLI) ou en mode module de serveur.
70,14 → 32,14
private $erreurs;
 
/**
* Permet de savoir si on veut faire apparaître ou pas le contexte de l'erreur,
* c'est à dire le contenu des variables.
* Permet de savoir si on veut faire apparaître ou pas le contexte de l'erreur,
* c'est à dire le contenu des variables.
* @access private
*/
private $contexte;
/**
* Contient le niveau d'erreur courant. Celui que l'on donne à la fonction
* Contient le niveau d'erreur courant. Celui que l'on donne à la fonction
* error_reporting().
* @access private
*/
106,7 → 68,7
}
/**
* Fonction d'accès au singleton
* Fonction d'accès au singleton
* @return GestionnaireErreur le gestionnaire d'erreurs courant
*/
public static function getInstance()
120,7 → 82,7
/*** Accesseurs: ***/
/**
* Récupère le tableau des erreurs.
* Récupère le tableau des erreurs.
*
* @return array
* @access public
130,7 → 92,7
}
 
/**
* Ajoute une erreur à la liste.
* Ajoute une erreur à la liste.
*
* @param array une_erreur
* @return void
141,7 → 103,7
}
 
/**
* Récupère la valeur du contexte.
* Récupère la valeur du contexte.
*
* @return boolean
* @access public
151,7 → 113,7
}
 
/**
* Définit si oui ou non le contexte sera affiché.
* Définit si oui ou non le contexte sera affiché.
*
* @param boolean un_contexte
* @return void
162,7 → 124,7
}
/**
* Récupère le niveau d'erreur courrant.
* Récupère le niveau d'erreur courrant.
*
* @return int le niveau d'erreur courrant.
* @access public
172,7 → 134,7
}
 
/**
* Définit le niveau d'erreur courrant.
* Définit le niveau d'erreur courrant.
*
* @param int un niveau d'erreur.
* @return void
183,7 → 145,7
}
/**
* Définit le niveau d'erreur courrant (synonyme fonction precedente)
* Définit le niveau d'erreur courrant (synonyme fonction precedente)
*
* @param int un niveau d'erreur.
* @return void
194,7 → 156,7
}
/*** Méthodes : ***/
/*** Méthodes : ***/
/**
*
209,7 → 171,7
public function gererErreur($niveau, $message, $fichier, $ligne, $contexte)
{
$aso_erreur = array();
// Nous vérifions si nous affichons ou pas l'erreur en fonction du niveau demandé
// Nous vérifions si nous affichons ou pas l'erreur en fonction du niveau demandé
if ( $niveau <= $this->getNiveauErreurCourant() ) {
$aso_erreur['niveau'] = $niveau;
switch ($niveau) {
234,7 → 196,7
echo print_r($this->erreurs,true) ;
exit() ;
// Si nous avons à faire à une erreur et non à un warning ou une notice, nous arrêtons l'exécution du script
// Si nous avons affaire à une erreur et non à un warning ou une notice, nous arrêtons l'exécution du script
switch ($niveau) {
case E_ERROR :
case E_USER_ERROR :
244,7 → 206,7
}
 
/**
* Retourne l'erreur PHP formatée en XHTML.
* Retourne l'erreur PHP formatée en XHTML.
*
* @return string
* @access public
309,7 → 271,7
}
 
/**
* Retourne l'erreur SQL formatée en XHTML.
* Retourne l'erreur SQL formatée en XHTML.
*
* @param string fichier
* @param int ligne
327,7 → 289,7
case 'cli' :
$retour .= 'ERREUR SQL '."\n";
$retour .= 'Fichier : '.$fichier."\n";
$retour .= 'Méthode : '.$methode."\n";
$retour .= 'Méthode : '.$methode."\n";
$retour .= 'Message : '.$message."\n";
if (!is_null($requete)) {
$retour .= 'Requete : '."\n";
347,7 → 309,7
$retour .= '<dt> Fichier : </dt> ';
$retour .= '<dd> '.$fichier.'</dd>'."\n";
$retour .= '<dt> Méthode : </dt> ';
$retour .= '<dt> Méthode : </dt> ';
$retour .= '<dd> '.$methode.'</dd>'."\n";
$retour .= '<dt> Message erreur : </dt> ';