Initiation aux templates en PHP avec Smarty


prcdentsommairesuivant

VII. La console de debogage

La console de deboguage permet au dveloppeur notamment de voir les templates appels, les variables Smarty et leurs contenu ainsi que les variables de configuration. C'est un formidable outil que je vous encourage vivement utiliser.

Dans son utilisation "de base", l'appel la console se fait dans le script PHP, ce qui provoque au rechargement de page l'apparition d'une fentre "popup" (attention aux bloqueurs de popup). L'affichage de la console est donc effectu en javascript.

VII-A. Appel dans le script PHP

Premire possibilit, l'appel dans le script PHP qui implmente Smarty. Dans ce cas de figure, on fixe une proprit debugging true.

console.php
Sélectionnez
// Inclure la librairie smarty
require_once('../smarty/Smarty.class.php');
 
// Instancier notre objet smarty
$oSmarty = new Smarty();
 
$oSmarty->debugging = true;
 
$oSmarty->assign("smarty_phrase", "Les chaussettes de l'archi-duchesse");
 
// 3. Affichage du template aprs passage de l'objet
$oSmarty->display('exemple.tpl');
Image non disponible

VII-B. Appel dans le template

Une autre faon d'appeler la console consiste insrer une fonction {DEBUG} dans le template

consoleInTemplate.tpl
Sélectionnez
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
 <html>
	<head>
		<title>Exemple d'utilisation de la console de dbogage</title>
	</head>
	<body>
		<p>{$smarty_phrase|truncate:30}</p>
		{debug}
	</body>
</html>

VII-C. La console sans javascript

Une fonction trs intressante: l'affichage de la console directement dans le fichier de sortie sans passer par javscript, il s'agit d'un paramtre (OUTPUT) ajouter dans la fonction {debug}:

consoleEnHtml.tpl
Sélectionnez
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
 <html>
	<head>
		<title>La console sans javascript</title>
	</head>
	<body>
		<p>{$smarty_phrase|truncate:30}</p>
		{debug output="html"}
	</body>
</html>
Image non disponible
Affichage de la console sans passer par JAVASCRIPT

Comme vous le voyez la console n'est plus lance dans une fentre popup mais bien intgre la page web gnre

VII-D. Paramtre dans l'url

Dernire fonctionnalit que nous allons voir, c'est un must !!! la console est 'appelable' en passant un paramtre dans l'url qui invoque le script php. Pour se faire il faut permettre Smarty de le faire en fixant la proprit 'debugging_ctrl' 'URL' comme ceci:

consoleUrl.php
Sélectionnez
$oSmarty = new Smarty();
 
$oSmarty->debugging_ctrl= 'URL';
Image non disponible
Appel de la console en utilisant un paramtre dans l'URL

Voyez dans la barre d'adresse, j'ai pass le paramtre 'SMARTY_DEBUG' (peu importe qu'il y ait une valeur associe), la proprit Smarty "debugging_ctrl" tant true, la console s'est affiche.


prcdentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2008 Eric POMMEREAU. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.