Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Utilisation du moteur de template Smarty

Par Louison BEAUFRE Publié le 31/03/2016 à 11:47:37 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Présentation

Smarty est un système de templates utilisable à partir de PHP 4.0.6.

Celui-ci permet de découper la partie métier de la partie présentation de façon simplifiée. Cela permet ainsi une plus grande flexibilité du programme et une meilleure gestion du projet en équipe.

C'est un outil simple à prendre en main qui s'adresse autant à des utilisateurs avancés qu'à des novices en PHP.

Sommaire

-Prérequis

-Installation

-Implémentation

-Conclusion

Prérequis

Pour suivre cet article il faudra une version de PHP supérieure à 4.0.6.

L'IDE netbean en version 7 ou supérieure.

Un serveur compatible PHP, ici l'exemple est effectué avec Wamp.

Installation

Téléchargez le zip Smarty : https://github.com/smarty-php/smarty/releases

Dézippez le projet, dans celui-ci seul le dossier "libs" nous intérressera.

Sélectionnez ce dossier, collez le à la racine du projet. Renommez le par exemple en "tpl".

Créez deux dossiers de stockage des fichiers tpl à la racine du répertoire contenant les fichiers PHP nommés "templates" et "templates_c".

Ces deux répertoires contiendront respectivement les fichiers templates et les fichiers compilés.

Vous devriez avoir cette architecture de projet :

Implémentation

Créez un nouveau fichier tpl dans votre dossier "templates" :

Dans votre fichier index appelez la classe smarty dans un require :

require("tpl/smarty.class.php");

Instanciez un objet smarty :

$smarty = new Smarty();

Pour afficher votre template il suffit de l'appeler comme ci-dessous:

$smarty->display("newSmartyTemplate.tpl");

Le fichier index.php doit donc ressembler a celui-ci :

Vous noterez la ligne 12 avec un assign. Cette ligne permet d'assigner des données à une variable utilisable dans le tpl appelé. Ici Hello sera stocké dans une variable nommée DATA.

Dans le tpl copier coller un code html d'index classique. Smarty permet d'utiliser du code PHP directement dans le fichier tpl. Ce qui permet de simplifier l'affichage et la présentation. Pour utiliser du code PHP il faut l'encadrer entre {} , par exemple une instruction if/else : {if test} {else} {/if}

Exemple de tpl :

Ici nous afficherons simplement la valeur de DATA si la variable a été initialisée en amont sinon un message auto-généré.

Les résultats obtenus sont les suivants :

De nombreuses autres instructions seront bien sûr possible tel que des foreach , débugger avec des var_dump , appeler des tpl directement depuis le tpl parent.. Et bien d'autres fonctionnalités. Référez vous à la documentation smarty pour plus de détails :

http://www.smarty.net/documentation

Conclusion

Smarty est un outil simple à mettre en place. Il va permettre de gagner en productivité en ajoutant une meilleure structuration du projet. Il va aussi permettre de découper proprement la partie contenu de la forme. Son utilisation est accessible aux débutants et permet ainsi aux novices PHP de l'utiliser.

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels