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:
Table of Contents
La version 2.0 a introduit l'architecture de plugin qui est utilisée pour pratiquement toutes les fonctionnalités personnalisables de Smarty. Ceci comprend :
A part pour les ressources, la compatibilité avec les anciennes
façons d'enregistrer les fonctions de gestion avec l'API register_
est conservée. Si vous n'avez pas utilisé cette API et que vous avez
à la place directement modifié les variables de classes
$custom_funcs
, $custom_mods
et
d'autres, vous devez alors modifier vos scripts pour utiliser
l'API ou convertir vos fonctionnalités personnalisées en plugins.
Les plugins sont toujours chargés à la demande. Seuls les modificateurs de variables, les ressources, etc invoqués dans les scripts de templates seront chargés. De plus, chaque plugin n'est chargé qu'une fois, et ce même si vous avez plusieurs instances de Smarty qui tournent dans la même requête.
Les filtres de post/pré-compilation et les filtres de sortie sont des cas un peu spéciaux. Comme ils ne sont pas mentionnés dans les templates, ils doivent être déclarés ou chargés explicitement via les fonctions de l'API avant que le template ne soit exécuté. L'ordre dans lequel les filtres multiples d'un même type sont exécutés dépend de l'ordre dans lequel ils sont enregistrés ou chargés.
Le répertoire de plugin peut être une chaîne de caractères contenant un chemin ou un tableau contenant de multiples chemins. Pour installer un plugin, placez-le simplement dans un de ces dossiers et Smarty l'utilisera automatiquement.