Subversion Repositories Applications.framework

Rev

Rev 186 | Rev 232 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 186 Rev 218
Line 4... Line 4...
4
 * Classe fournissant des fonctions de débogage équivalante à var_dump et print_r.
4
 * Classe fournissant des fonctions de débogage équivalante à var_dump et print_r.
5
 * L'affichage et l'utilisation de ces fonctions sont améliorés via cette classe.
5
 * L'affichage et l'utilisation de ces fonctions sont améliorés via cette classe.
6
 * Cette classe est inspirée de la classe Zend_Debug.
6
 * Cette classe est inspirée de la classe Zend_Debug.
7
 *
7
 *
8
 * @category	PHP 5.2
8
 * @category	PHP 5.2
9
 * @package		Framework
9
 * @package	Framework
10
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
10
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
11
 * @copyright	Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)
11
 * @copyright	Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)
12
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3
12
 * @license	http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3
13
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2 
13
 * @license	http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2 
14
 * @version		SVN : $Id: Debug.php 186 2010-04-28 15:50:16Z jpm $
14
 * @version	SVN : $Id: Debug.php 218 2010-11-10 11:32:39Z jpm $
15
 * @link		/doc/framework/
15
 * @link		/doc/framework/
16
 */
16
 */
17
class Debug {
17
class Debug {
Line 18... Line 18...
18
 
18
 
Line 67... Line 67...
67
		$sortie = print_r($variable, true);
67
		$sortie = print_r($variable, true);
Line 68... Line 68...
68
 
68
 
69
		// Traitement général du débogage
69
		// Traitement général du débogage
70
		return self::traiterDebogage($mot_cle, $sortie, $echo);
70
		return self::traiterDebogage($mot_cle, $sortie, $echo);
-
 
71
	}
-
 
72
	
-
 
73
	/**
-
 
74
	 * Affichage d'informations sur l'espace mémoire occupé par une variable
-
 
75
	 * @link http://forum.webmaster-rank.info/developpement-site/code-taille-memoire-d-une-variable-en-php-t1344.html
-
 
76
	 * @param mixed $var la variable dont on veut connaître l'empreinte mémoire.
-
 
77
	 * @param string $mot_cle le mot cle à associer
-
 
78
	 * @param boolean $echo faire un echo ou non
-
 
79
	 * 
-
 
80
	 * @return string la chaine d'information sur l'espace mémoire occupé ou bien null si echo
-
 
81
	 */
-
 
82
	public static function tailleMemoireVar($var, $mot_cle = null, $echo = false) {
-
 
83
		$memoire_depart = memory_get_usage();   
-
 
84
		$temp = unserialize(serialize($var));   
-
 
85
		$taille = memory_get_usage() - $memoire_depart;
-
 
86
		$sortie =  Fichier::convertirTaille($taille);
-
 
87
		return self::traiterDebogage($mot_cle, $sortie, $echo);
Line 71... Line 88...
71
	}
88
	}
-
 
89
 
-
 
90
	/**
-
 
91
	 * Affichage d'informations sur l'espace mémoire occupé par le script PHP
-
 
92
	 * @link http://forum.webmaster-rank.info/developpement-site/code-taille-memoire-d-une-variable-en-php-t1344.html
-
 
93
	 * @param string $mot_cle le mot cle à associer
-
 
94
	 * @param boolean $echo faire un echo ou non
-
 
95
	 * 
-
 
96
	 * @return string la chaine d'information sur l'espace mémoire occupé ou bien null si echo
-
 
97
	 */
-
 
98
	public static function tailleMemoireScript($mot_cle = null, $echo = false) {
-
 
99
		$sortie =  'Mémoire -- Utilisé : '.Fichier::convertirTaille(memory_get_usage(false)).
-
 
100
			' || Alloué : '.
-
 
101
			Fichier::convertirTaille(memory_get_usage(true)) .
-
 
102
			' || MAX Utilisé  : '.
-
 
103
			Fichier::convertirTaille(memory_get_peak_usage(false)).
-
 
104
			' || MAX Alloué  : '.
-
 
105
			Fichier::convertirTaille(memory_get_peak_usage(true)).
-
 
106
			' || MAX autorisé : '.
-
 
107
			ini_get('memory_limit');
-
 
108
		
-
 
109
		// Traitement général du débogage
-
 
110
		return self::traiterDebogage($mot_cle, $sortie, $echo);
-
 
111
	}
72
 
112
	
73
	/**
113
	/**
74
	 * Traite une chaine de débogage et les mots clés associés
114
	 * Traite une chaine de débogage et les mots clés associés
75
	 * @param string  $mot_cle le mot à associer à la chaine
115
	 * @param string  $mot_cle le mot à associer à la chaine
76
	 * @param string  $sortie le chaine de debogage
116
	 * @param string  $sortie le chaine de debogage