Débuter avec SmartyDate de publication : 13/01/2006 , Date de mise à jour : 13/01/2006
Par
siddh
Smarty est un moteur de template pour PHP, il permet de dissocier la partie "code" de la représentation des données (affichage). I. Introduction II. Installation III. Comment utiliser les templates ? I. Introduction
Pourquoi séparer le code et la présentation ? Il y a plusieurs raisons, voici les principales :
De plus c'est une tendance aujourd'hui de bien tout compartimenter, par exemple, le XHTML vous permet décrire des données et ensuite vous les présentez avec des CSS. C'est un gage d'évolutivité, de modularité et ça vous permet aussi une maintenance plus rapide et efficace.
Smarty est diffusé sous licence LGPL et fait partie du projet PHP. Il existe bien entendu d'autres moteurs de templates pour PHP. Son apprentissage est certainement plus dur que certains autres mais Smarty est l'un des plus performants et l'un des plus utilisés dans les développements professionnels. Ses points forts :
Ses points faibles :
Nous verrons donc comment l'installer, le configurer et bien sûr comment l'utiliser.
II. Installation
Smarty nécessite un serveur Web utilisant PHP 4.0.6 ou supérieur.
Il faut donc le télécharger. Ensuite vous le décompressez dans un répertoire de votre serveur web. Tout ce qu'il y a dans l'archive n'est pas nécessaire pour utiliser Smarty. En effet, pour fonctionner correctement, seul le répertoire "libs" est indispensable. Ne modifiez rien se trouvant dans ce répertoire ! Si vous avez un fichier index.php à coté duquel vous avez votre répertoire "Smarty", il vous faudra faire :
Là vous avez votre objet Smarty qui est presque prêt à être utilisé. Il ne nous reste plus qu'à lui indiqué quels vont être ses répertoires de travail.
Pour fonctionner, Smarty a besoin de 4 répertoires :
Vous pouvez mettre les 3 derniers dans le premier.
Il faudra donner les droits d'écriture à votre serveur web pour les répertoires templates_c et cache. Pour définir leur emplacement :
Le plus simple est de mettre ce code dans un fichier "Smarty.inc" que l'on incluera dans les autres pages PHP.
Une fois tout cela fait, nous allons donc nous retrouver avec une structure comme celle là :
Nous allons déjà tester si notre installation est bien faîte.
Pour cela, il faut faire un template que nous appelerons par exemple "testInstall.tpl". Il devra se trouver dans le répertoire "templates".
Nous verrons plus tard ce qu'est un template mais vous pouvez déja constater que c'est une page HTML contenant des variables.
Il nous faut aussi un fichier PHP qui va utiliser ce template :
Il ne vous reste plus qu'a appeler cette page dans votre navigateur.
III. Comment utiliser les templates ?
Comme nous l'avons aperçu dans l'installation de Smarty, un template est une page HTML qui va contenir aussi les variables que l'on veut affecter depuis PHP. De cette manière, il est donc très facile de faire faire les templates aux graphistes/designers puisqu'ils n'auront pas de code PHP à mettre dedans. Un template peut en inclure d'autres. Cela permet par entre autre d'avoir tout le temps les mêmes information en entête et en pied de page.
Nous allons d'ailleurs mettre en place un système de "pseudos frames" pour la suite de cet article. Le but de cet article étant de voir l'utilisation de Smarty, je ne m'attarderais pas sur des considérations telles que "Comment sécuriser ses pseudos frames".
Le principe :
Une page (index.php) qui va centraliser les demandes de l'utilisateur et afficher ce qu'il demande. Cela nécessite que tous les liens ou actions de nos pages pointent vers index.php en lui passant en paramètre l'action à effectuer.
Au niveau de nos templates, on va aussi faire des séparations :
Cela permettra d'avoir des pages uniformes et surtout, grace à ça, il suffira par exemple de ne modifier qu'un seul fichier pour rajouter une feuille de style à toutes nos pages.
Ensuite, tous les autres templates auront cette structure :
Vous avez pu voir dans l'installation de Smarty que pour affecter une valeur à une variable, on utilise la fonction "assign" et que pour afficher un template, il suffit d'appeler "display" en lui passant le nom du template.
Voici donc à quoi pourrais ressembler nos pages si l'on voulait au préalable demander son nom à l'utilisateur :
J'ai rajouté une action par défaut dans le switch qui permettra de rediriger vers une page d'erreur les personnes qui voudraient essayer des actions qui n'existent pas.
|
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 siddh. 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.