Maison  >  Article  >  développement back-end  >  Notes plus complètes sur Smarty de PHP

Notes plus complètes sur Smarty de PHP

不言
不言original
2018-04-19 15:10:079757parcourir

Le contenu présenté dans cet article est une note relativement complète sur PHP Smarty, qui a une certaine valeur de référence. Maintenant, je la partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

1 , fichier de répertoire de configuration :



2. Informations de configuration du fichier de configuration :

Cela devrait être le contenu dans index.php :




[php] afficher la copie simple



  1. <?php  
        header("content-type:text/html;charset=utf8");  
        include_once("libs/Smarty.class.php"); //包含smarty类文件   
      
        $smarty = new Smarty(); //建立smarty实例对象$smarty   
        $smarty->compile_dir = &#39;./templates_c/&#39;; //设置模板目录 ——这里的文件很重要的,需要写的模板文件  
        $smarty->compile_dir = &#39;./templates_c/&#39;;; //设置编译目录 ——混编文件,自动生成  
        $smarty->cache_dir = &#39;./cache/&#39;; //缓存目录   
        $smarty->cache_lifetime = 0; //缓存时间   
        $smarty->caching = true; //缓存方式   
      
        $smarty->left_delimiter = "{";   
        $smarty->right_delimiter = "}";   
      
        $smarty->assign("name", "注释"); //进行模板变量替换   
        $smarty->display("index.html"); //编译并显示位于./templates下的index.htm模板   
    ?>


Explication de certaines routines, mais il faut comprendre :

2.1 : déclaration include_once :

Ce sera install Le fichier smarty vers le site Web est inclus dans le fichier actuel. Notez que le chemin inclus doit être écrit correctement.

2.2 : $smarty = new Smarty() :

Cette phrase crée un nouvel objet Smarty $smarty, qui est une simple instanciation d'un objet.

2.3 : $smarty->templates("") :

Cette phrase spécifie le chemin lorsque l'objet $smarty utilise le modèle tpl. C'est un répertoire. Sans cette phrase, le chemin du modèle par défaut de Smarty est le répertoire templates du répertoire courant. lors de l'écriture Lors de la programmation, nous devons écrire cette phrase clairement. C'est aussi un bon style de programmation.


2.4 : $smarty->templates_c("") :

Ceci Une phrase précise le répertoire dans lequel l'objet $smarty est compilé. Dans le chapitre sur la conception de modèles, nous savons déjà que Smarty est un langage de modèles compilé, et ce répertoire est le répertoire dans lequel il compile les modèles. Veuillez noter que si le site se trouve dans <.>Linux serveur, veuillez vous assurer que le répertoire défini dans teamplates_c dispose des autorisations d'écriture et de lecture. Par défaut, il est compilé <.> Le répertoire de traduction est templates_c dans le répertoire courant Pour la même raison, est écrit explicitement par nos soins.

2.5 : $smarty->left_delimiter et $smarty->right_delimiter :

spécifie les séparateurs gauche et droit lors de la recherche de variables de modèle. Par défaut, il s'agit de "{" et "}", mais en pratique, comme nous souhaitons utiliser 3f1c4e4b6b16bbbd69b2ee476dc4f83a dans le modèle, la définition de la fonction dans Script sera inévitablement .

Utilisez {}, bien qu'il ait sa propre solution, mais il est d'usage pour nous de le redéfinir comme "{#" et "#}" ou " 438ccb24c2dcc8dfa8cf6c7f24445db2" ou d'autres identifiants, notez , si gauche et droite

séparateur, respectivement dans le fichier modèle, chaque variable doit utiliser le même symbole que la définition, par exemple, spécifié ici comme "804a5578f7a0b7741cc6b4a04af2c371 " , le modèle htm doit également changer {$name} en conséquence de

à f1ae60a094afb5383c24c6d7d49bae7e, comme ceci uniquement le programme peut-il alors trouver correctement les variables du modèle.

2.6 : $smarty->cache("./cache") :

indique à Smarty l'emplacement du cache du fichier de modèle de sortie. Dans l'article précédent, nous savions que le plus gros avantage de Smarty est qu'il peut être mis en cache. Voici le répertoire dans lequel est défini le cache. Par défaut

est le répertoire de cache dans le répertoire courant, qui est équivalent au répertoire templates_c dans linux<.>Nous devons nous assurer qu'il est lisible et inscriptible dans le système.

2.7 : $smarty->cache_lifetime = 60 * 60 * 24 :

La durée de validité du cache sera calculée en secondes. Le cache sera reconstruit lorsque la variable de cache Smarty sera définie sur true à l'expiration du premier délai de cache. Lorsque sa valeur

est -1, cela signifie que le cache établi n'expire jamais, et lorsqu'elle est 0, cela signifie que le cache est toujours mis à jour à chaque fois le programme est exécuté. Le paramètre ci-dessus signifie définir cache_lifetime sur un jour. Cette propriété indique si Smarty souhaite mettre en cache et comment mettre en cache. Il peut prendre 3 valeurs, 0 : valeur par défaut de Smarty, indiquant que le modèle ne sera pas mis en cache ; 1 : indiquant que Smarty

utilisera la durée de vie du cache actuellement définie. pour décider si End cache ; 2 : Indique que Smarty utilisera la valeur cache_lifetime lors de la création du cache. Il est d'usage d'utiliser true et

false pour indiquer s'il faut mettre en cache.

2.9 : $smarty->assign("name", "zaocha") :

Le prototype de ce numéro est assign(string varname, Mixed var), varname est la variable de modèle utilisée dans le modèle, var indique le nom de la variable

à être remplacé par la variable de modèle ; La deuxième forme originale de est

assign(mixed var) Nous expliquerons cette fonction membre en détail. dans les exemples suivants. Comment utiliser, assign est l'une des fonctions principales de Smarty , toutes les substitutions aux variables de modèle

Utilisez-le si vous le modifiez .

2.10 : $smarty->display("index.tpl") :

Le prototype de cette fonction est display(string varname), qui est utilisé pour afficher un modèle. Pour faire simple, il affichera les modèles analysés et traités. Le fichier modèle ici n'a pas besoin d'ajouter le chemin

, utilisez simplement un nom de fichier, dont nous avons déjà le chemin. défini dans $smarty->templates (chemin de chaîne).

Une fois le programme exécuté, nous pouvons ouvrir les répertoires templates_c et cache dans le répertoire courant, et nous constaterons qu'il y a quelques répertoires %% supplémentaires ci-dessous . Ces répertoires sont des compilation Smarty

et le répertoire cache est automatiquement généré par le programme. Ne modifiez pas directement ces fichiers générés.


3. Notes de Smarty :

La partie texte ennuyeuse peut être ignorée :

Les commentaires du modèle sont entourés d'astérisques *, et les astérisques des deux côtés sont entourés de délimiteurs, tels que {* ceci est un commentaire *}. Les commentaires intelligents n'apparaîtront pas dans la sortie finale du fichier modèle, contrairement à 166f9a7cff368398f5acaaf0409d9b50 (Annotation : les commentaires HTML sont visibles dans le code source de la page, mais pas les commentaires intelligents). C'est très utile. Imaginez que les commentaires n'existent que dans le modèle et que personne ne puisse les voir dans la page de sortie :).

Ressentez-le intuitivement :




4. Constantes :

La partie de texte ennuyeuse peut être ignorée :

Variables du fichier de configuration are One n'utilise pas le signe dollar $, mais utilise des signes # entourant la variable (#hashmarks#), ou une variable sous la forme de $smarty.config.

Ressentez-le intuitivement :



5. Variables :

La partie de texte ennuyeuse peut être ignorée : Les variables du modèle commencent par le signe dollar $ et peuvent contenir des chiffres, des lettres et des traits de soulignement, ce qui est identique à Variables php Très similaire. Vous pouvez référencer des indices numériques ou non numériques de tableaux, ainsi que des propriétés et méthodes d'objet.


译注:按照说明像$abc、$abc123、$abc_123、$abc[1]、$abc['a']、$abc->a、$abc->a()这些模板变量都是有效的。


Ressentez-le intuitivement :


Assurez-vous avant le la variable est affichée. Il doit y avoir un signe $ ! ! ! ! ! ! ! ! ! ! !


6. Fonction



7. Tableau d'affectation



8. Régulateur de variable (la première variable est devant la barre verticale, les deuxième et troisième variables sont après :). .... ...variable)




9. Jugement conditionnel




10. Boucle de section







11. pour chaque

12. L'introduction du fichier met un objet d'une classe sous forme de variable




13. Utilisez assign pour attribuer des valeurs aux modèles intelligents :


14. En utilisant la fonction PHP, référez-vous au régulateur de variable à l'article 8


15. Utilisation des fonctions personnalisées



16. fonctions fonction Définition et utilisation du plug-in Définition et utilisation de



18. Définition et utilisation du plug-in de fonction de bloc Utilisation

19. Exemples de boucles for et while



20. Utilisation des balises img et option

21. >

Recommandations associées :

Données du fichier de configuration du moteur de modèle Smarty et données conservées

Explication détaillée des commentaires et des fonctions de troncature dans Smarty

Explication détaillée de la fonction intégrée Smarty incluse dans PHP


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn