VII. La console de debogage▲
La console de deboguage permet au développeur notamment de voir les templates appelés, 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 fenêtre "popup" (attention aux bloqueurs de popup). L'affichage de la console est donc effectué en javascript.
VII-A. Appel dans le script PHP▲
Première possibilité, l'appel dans le script PHP qui implémente Smarty. Dans ce cas de figure, on fixe une propriété debugging à true.
//
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
après
passage
de
l'objet
$oSmarty
-
>
display('
exemple
.
tpl
'
);
VII-B. Appel dans le template▲
Une autre façon d'appeler la console consiste à insérer une fonction {DEBUG} dans le template
<!
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 débogage<
/
title
>
<
/
head
>
<
body
>
<
p
>
{$smarty_phrase|truncate:30}<
/
p
>
{debug}
<
/
body
>
<
/
html
>
VII-C. La console sans javascript▲
Une fonction très intéressante: l'affichage de la console directement dans le fichier de sortie sans passer par javscript, il s'agit d'un paramètre (OUTPUT) à ajouter dans la fonction {debug}:
<!
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
>
Comme vous le voyez la console n'est plus lancée dans une fenêtre popup mais bien intégrée à la page web générée
VII-D. Paramètre dans l'url▲
Dernière fonctionnalité que nous allons voir, c'est un must !!! la console est 'appelable' en passant un paramètre dans l'url qui invoque le script php. Pour se faire il faut permettre à Smarty de le faire en fixant la propriété 'debugging_ctrl' à 'URL' comme ceci:
$oSmarty = new Smarty();
$oSmarty->debugging_ctrl= 'URL';
Voyez dans la barre d'adresse, j'ai passé le paramètre 'SMARTY_DEBUG' (peu importe qu'il y ait une valeur associée), la propriété Smarty "debugging_ctrl" étant à true, la console s'est affichée.