What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
Ceci est la suite de l'installation de base, veuillez lire cette dernière avant de poursuivre.
Une manière un peu plus commode de configurer Smarty est de faire votre
propre classe fille et de l'initialiser selon votre environnement.
De la sorte, nous n'aurons plus besoin de configurer à chaques fois les
chemins de notre environnement. Créons un nouveau répertoire
/php/includes/livredor/
et un nouveau fichier
appelé setup.php
.
Dans notre exemple d'environnement, /php/includes
est notre
include_path PHP. Assurez-vous de faire la même chose ou alors d'utiliser
des chemins absolus.
Example 2.10. Édition de /php/includes/livredor/setup.php
<?php // charge la librairie Smarty require('Smarty.class.php'); // le fichier setup.php est un bon // endroit pour charger les fichiers // de librairies de l'application et vous pouvez // faire celà juste ici. Par exemple : // require('livredor/livredor.lib.php'); class Smarty_livredor extends Smarty { function Smarty_livredor() { // Constructeur de la classe. // Appelé automatiquement à l'instanciation de la classe. $this->Smarty(); $this->template_dir = '/web/www.example.com/smarty/livredor/templates/'; $this->compile_dir = '/web/www.example.com/smarty/livredor/templates_c/'; $this->config_dir = '/web/www.example.com/smarty/livredor/configs/'; $this->cache_dir = '/web/www.example.com/smarty/livredor/cache/'; $this->caching = true; $this->assign('app_name', 'Guest Book'); } } ?>
Modifions maintenant le fichier index.php
pour qu'il utilise
setup.php
Example 2.11. Édition de /web/www.example.com/docs/livredor/index.php
<?php require('livredor/setup.php'); $smarty = new Smarty_livredor(); $smarty->assign('name','Ned'); $smarty->display('index.tpl'); ?>
Vous savez maintenant qu'il est facile de créer une instance de Smarty,
correctement configurée, en utilisant Smarty_livredor()
qui initialise automatiquement tout ce qu'il faut pour votre application.