1. Qu'est-ce qu'un moteur de modèle ?
Un moteur de modèle (fait spécifiquement référence ici à un moteur de modèle utilisé pour le développement Web) est créé pour séparer l'interface utilisateur des données métier (contenu). format spécifique, le moteur de modèles utilisé pour le site Web générera un document HTML standard. Le moteur de template n’appartient pas à un domaine technique spécifique, c’est un concept cross-domaine et cross-plateforme. Il existe un moteur de modèles sous Asp, il existe un moteur de modèles sous PHP, il existe également un moteur de modèles sous C#, et même le développement JavaScript et WinForm utilise la technologie des moteurs de modèles. Le modèle du moteur de modèles est un fichier texte ordinaire et ne nécessite pas d'extension spéciale. .html .htm .twig peut être utilisé. Les variables et expressions du modèle seront analysées et remplacées au moment de l'exécution, et les balises contrôleront la logique du modèle.
2, moteur de templates smarty
Smarty est un moteur de templates php. Plus précisément, il sépare le programme logique du contenu externe, offrant ainsi une approche facile à gérer. Il peut être décrit comme le programmeur d'application
et l'artiste jouent des rôles différents, car dans la plupart des cas, ils ne peuvent pas être la même personne. Par exemple, si vous créez une page Web pour parcourir les actualités, le titre de l'actualité, la colonne de balise
, l'auteur et le contenu sont tous des éléments de contenu et n'incluent pas la manière dont ils doivent être présentés. Dans le programme de Smarty, ceux-ci sont ignorés. Les concepteurs de modèles modifient les modèles et utilisent une combinaison de balises
html et de balises de modèle pour formater la sortie de ces éléments (tableaux HTML, couleurs d'arrière-plan, tailles de police, feuilles de style, etc.). Un jour, le programmeur a voulu changer la manière de récupérer les articles (
est également un changement dans la logique du programme). Ce changement n'affecte pas les concepteurs de modèles et le contenu sera toujours affiché avec précision dans le modèle. De même, si un jour l'artiste en prend trop et souhaite refaire complètement l'interface, cela n'affectera pas la logique du programme. Par conséquent, les programmeurs peuvent modifier la logique sans reconstruire le modèle, et les concepteurs de modèles peuvent modifier le modèle sans affecter la logique. smarty n'essaye pas de combiner la logique
Complètement séparé des modèles. Si le programme logique est utilisé strictement pour la présentation de pages, il ne posera pas de problèmes dans le modèle. Voici une suggestion : éloignez la logique de l'application des modèles et la logique de présentation des pages
de la logique de l'application. Cela rendra le contenu plus facile à gérer et les programmes plus faciles à mettre à niveau à l'avenir.
3, fonctionnalités du moteur smaty
compilation de modèles. Pour réduire les frais généraux, Smarty convertit par défaut les modèles en scripts PHP comparables, ce qui accélère les appels ultérieurs. Smarty est également très intelligent et peut être recompilé après les modifications de contenu.
Mise en cache. Smarty fournit également la fonctionnalité facultative de modèles de mise en cache. La différence entre la mise en cache et la compilation réside dans le fait que la prise en charge de la mise en cache génère non seulement du contenu mis en cache, mais empêche également l'exécution de logiques individuelles. Par exemple, vous pouvez spécifier une durée de vie du document mis en cache, par exemple 5 minutes, pendant laquelle les requêtes de base de données liées au modèle peuvent être ignorées.
Hautement configurable et extensible. L'architecture orientée objet de Smarty permet de modifier et d'étendre son comportement par défaut. De plus, la configurabilité était un objectif de conception dès le début, offrant aux utilisateurs une grande flexibilité pour personnaliser le comportement de Smarty grâce à des méthodes et des propriétés intégrées.
Sécurité. Smarty fournit de nombreuses fonctionnalités de sécurité pour protéger les données du serveur et des applications contre toute destruction intentionnelle ou non par les concepteurs.