com.neolao.Trace

Méthodes statiques diverses pour le trace

Exemples

Trace::httpPost();                               // Affiche la liste les variables du $_POST en html
Trace::httpGet();                                // Affiche la liste les variables du $_GET en html
Trace::httpFile();                               // Affiche la liste les variables du $_FILE en html
 
$toto = array(array("a", "b"), array("c", "d"));
Trace::info($toto, "Contenu de toto");           // Affiche le contenu d'une variable

Méthodes

Visibilité Nom Param 1 Param 2 Description
static public httpPost Affiche la liste les variables du $_POST en html
static public httpGet Affiche la liste les variables du $_GET en html
static public httpFile Affiche la liste les variables du $_FILE en html
static public info mixed $var string $title Affiche le contenu d'une variable

Change log

  • [11/03/2005] Version 1.0

Création

Source

/**
 * Méthodes statiques diverses pour le trace
 * @package			com.neolao
 * @author			neolao <neo@neolao.com>
 * @version			1.0 (11/03/2005)	
 * @link			http://resources.neolao.com/php/classes/trace
 */
class Trace {
	// ----------------------------- CONSTANTES --------------------------------
 
	// ----------------------------- VARIABLES ---------------------------------
 
	/*=========================== METHODES PRIVEES ===========================*/
	/*========================================================================*/
	/**
	 * Création d'un tableau html pour l'affichage
	 * @param string $title Le titre du tableau
	 * @param array $cols Les titres des colonnes en array
	 * @param array $list Le tableau à parser
	 */
	private static function _createTable($title, $cols, $list){
		echo "<dl style=\"border: solid 1px #000000;font-family:Verdana;font-size:10px;\">";
		echo 	"<dt style=\"border-bottom: solid 1px #000000;padding: 2px;background-color: #aca6fe;font-weight:bold;\">".$title."</dt>";
		echo 	"<dd style=\"margin: 0px;padding: 2px;\">";
		echo 		"<table rules=\"groups\" style=\"width: 100%;font-family:Verdana;font-size:10px;\">";
		echo 			"<thead>";
		echo 				"<tr>";
		foreach($cols as $value){
			echo 				"<th style=\"text-align: left;padding-right: 10px;\">".$value."</th>";
		}
		echo 				"</tr>";
		echo 			"</thead>";
		echo 			"<tbody>";
		self::_createTableRow($list);
		echo 			"</tbody>";
		echo 		"</table>";
		echo 	"</dd>";
		echo "</dl>";
	}
	/**
	 * Création des lignes d'un tableau, pour createTable
	 * @param array $list La liste à afficher
	 * @return bool false si le paramètre n'est pas un array, sinon true
	 */
	private static function _createTableRow($list){
		$rowColor = array("#FFFFFF", "#F0F0F0");
		$rowNum = 0;
		if(is_array($list)){
			while(list($key, $value) = each ($list)){
				echo "<tr style=\"background-color: ".$rowColor[$rowNum % count($rowColor)].";\">";
				echo 	"<td style=\"vertical-align: top;padding: 2px;\">".$key."</td>";
				if(is_array($value)){
					echo "<td style=\"padding: 2px;\">";
					echo 	"<table style=\"border: solid 1px #AAAAAA;width: 100%;\">";
					self::_createTableRow($value);
					echo 	"</table>";
					echo "</td>";
				}else{
					echo "<td>".$value."</td>";
				}
				echo "</tr>";
				$rowNum++;
			}
			return true;
		}else{
			return false;
		}
	}
	/*===================== FIN = METHODES PRIVEES = FIN =====================*/
	/*========================================================================*/
 
	/*============================ GETTER  SETTER ============================*/
	/*========================================================================*/
 
	/*====================== FIN = GETTER  SETTER = FIN ======================*/
	/*========================================================================*/
 
	/*========================== METHODES PUBLIQUES ==========================*/
	/*========================================================================*/
	/**
	 * Affiche la liste les variables du $_POST en html
	 */
	public static function httpPost(){
		self::_createTable("Variables du \$_POST", array("Nom", "Valeur"), $_POST);
	}
	/**
	 * Affiche la liste les variables du $_GET en html
	 */
	public static function httpGet(){
		self::_createTable("Variables du \$_GET", array("Nom", "Valeur"), $_GET);
	}
	/**
	 * Affiche la liste les variables du $_FILES en html
	 */
	public static function httpFile(){
		self::_createTable("Variables du \$_FILES", array("Nom", "Valeur"), $_FILES);
	}
	/**
	 * Affiche le contenu d'une variable
	 * @param mixed $var La variable à afficher
	 * @param string $title Le titre du tableau d'affichage
	 */
	public static function info($var, $title=null){
		$type = gettype($var);
		$title = $type." : ".((!is_null($title))?$title:"Contenu d'une variable");
 
		switch($type){
			case "array":
				self::_createTable($title, array("Nom", "Valeur"), $var);
		}
	}
	/*==================== FIN = METHODES PUBLIQUES = FIN ====================*/
	/*========================================================================*/
}