Smarty un Générateur de template PHP : Installation
Smarty est un Générateur de Templates PHP ( mais c’est le titre
).
Il nous permet de respecter une partie du model MVC : grace a Smarty on sépare bien le php du html.
En plus de cette séparation, la compréhension du code Html seul est largement plus facile a lire, et le langage smarty n’a rien de compliquer
(d’autres article pour plus de détails)
Téléchargement de Smarty
Rendez-vous sur le site de Smarty et télécharger la dernière version stable.
Installation de Smarty
Copier – Coller le dossier Smarty-x.x.xx dans le dossier www de votre serveur apache.
Allez dans le dossier Smarty-x.x.xx/libs, nous allons regarder la classe « Smarty.class.php »
Nous ne rentrons dans les détails de fonctionnement, ce sont les attributs qui nous intéressent :
- $template_dir => pointe vers le dossier qui va contenir tous vos templates » .tpl »
- $compile_dir => pointe vers le dossier qui va contenir vos templates compilés.
- $config_dir => pointe vers le dossier de configuration (perso je m’en sers jamais)
- $plugins_dir => Les plugins sont des script qui s’executent directement dans smarty, par defaut ils en existent mais vous pourrez créer les votres.
- $cache_dir => pointe vers le dossier de cache des templates.
Ici tous les chemins sont configurés pour tester a la racine, par la suite rien ne vous empéche de modifier vos chemins suivant l’architecture de votre site.
Exemple : Principe de base
Créer le dossier TestSmarty dans Smarty-x.x.xx.
Ensuite créer les répertoires templates, et templates_c ainsi que le fichier index.php
Dans le fichier index.php
<?php
require '../libs/Smarty.class.php';
$smarty = new Smarty;
$smarty->assign("titre","test template Smarty");
$smarty->assign("name", 'Roul');
$smarty->display('index.tpl');
?>
dans le dossier templates on va créer le fichier index.tpl, puisqu’on l’appel au dessus.
<html>
<head>
<title>{$titre}</titre>
</head>
<body>
<p>Bienvenue {$name}</p>
</body>
</html>
Le résultat maintenant est magique :

Résultat Template Smarty




Note de l'article