Maison  >  Article  >  développement back-end  >  Quelles sont les variables de données du modèle smarty et comment les appeler ?

Quelles sont les variables de données du modèle smarty et comment les appeler ?

autoload
autoloadoriginal
2021-03-08 11:02:051319parcourir

Définition : 模板变量, quelle est la variable attribuée dans le modèle, et comment utiliser la règle Smarty pour analyser la variable dans le modèle.

Dans le modèle Smarty, nous divisons les 变量 du modèle en trois catégories.

  • PHP alloue des variables, c'est-à-dire des variables allouées à l'aide de la méthode assign.

  • Smarty conserve les variables, notamment 超全局预定义变量 et smarty的内置变量。

  • Variables personnalisées, les utilisateurs définissent des variables dans le modèle.

1. PHP alloue des variables. En théorie, PHP peut attribuer n'importe quel type de données au modèle pour l'analyse. Habituellement, il n'y a que trois types de données :

  • Données scalaires : sortie de données à l'aide de balises directement.

  • Données de tableau : vous pouvez utiliser des indices ou transmettre "."+下标 dans les modèles intelligents.

  • Données d'objet : L'accès se fait via 对象访问符 dans le modèle smarty.

<?php
    require &#39;smarty/Smarty.class.php&#39;;
    $smarty=new Smarty();
    // $smarty->left_delimiter="<{";
    // $smarty->right_delimiter="}>";
    $smarty->template_dir = &#39;templates/&#39;;   //实际模板所在目录,如果没有会在根目录下查找
    
    
    //普通数据
    $smarty->assign(&#39;hello&#39;,"hello world");
    //数组
    $smarty->assign(&#39;arr1&#39;,array(1412,14,23,456));
    $smarty->assign(&#39;arr2&#39;,array(&#39;name&#39;=>&#39;张三&#39;,&#39;sex&#39;=>&#39;男&#39;));
    //对象
    class Person{
        public $name=&#39;陈平安&#39;;
        public $perr=&#39;saber&#39;;
    }
    $smarty->assign(&#39;object1&#39;,new Person());
    $smarty->display(&#39;model.html&#39;);
?>
<!DOCTYPE html>//模板 model.html
<html>
<head>
    <title></title>
</head>
<body>
     {$hello}这是templates下面的模板 <br>
     这是索引数组:{$arr1[0]}---{$arr1[1]}------{$arr1[2]}<br>
     这是索引数组:{$arr1.0}---{$arr1.1}------{$arr1.2}<br>
     这是关联数组:{$arr2.name}-----{$arr2.sex}<br>
     这是对象:{$object1->name}-----------{$object1->perr}<br>
</body>
</html>

2.Variables réservées Smarty : Smarty prend en compte les variables système ou les variables internes que les utilisateurs devront utiliser fréquemment. Ces variables commencent généralement par $smarty, suivi de divers mots-clés, accessibles plusieurs fois.

  • Données GET : {$smarty.get.name}

  • Données POST : {$smarty.post.name}

  • données de session : {$smarty.session.name}

  • données de cookies : {$smarty.cookies.name}

  • Données de DEMANDE : {$smarty.request.name}

  • données du serveur : {$smarty.server.uppercase name}

  • Horodatage : {$smarty.now}

  • Chemin du modèle : {$smarty.current_dir}

  • Nom du modèle : { $smarty.template>

  • Fichier de configuration : {$smarty.config.configuration name}

<html>
   	<header></header>
    <body>
        	GET数据:{$smarty.get.name}
	  	POST数据:{$smarty.post.name}
		session数据:{$smarty.session.username}
		cookie数据:{$smarty.cookies.username}
		REQUEST数据:{$smarty.request.name}
		server数据:{$smarty.server.SERVER_NAME}
		时间戳:{$smarty.now}
		模板路径:{$smarty.current_dir}
		模板名字:{$smarty.template}
    </body>
</html>

Variables personnalisées : Afin de traiter de manière flexible les données dans le modèle, Smarty permet de définir des variables : {assign var='variable name' value='variable value'}.

<html>
    <header></header>
    <body>
        {assign var=&#39;name&#39; value=&#39;Sun&#39;}
        {$name}
    </body>
</html>

Recommandé : tutoriel php, tutoriel vidéo 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