Le système thinkphp prend en charge les modèles PHP natifs et dispose d'un moteur de modèles compilé efficace intégré basé sur XML. Le moteur de modèles utilisé par le système par défaut est le moteur de modèles intégré pour une utilisation détaillée des balises de ce moteur de modèles. , veuillez vous référer à la section Moteur de modèles.
ThinkPHP dispose d'un moteur de modèles intégré pour définir des fichiers de modèles et utiliser des fonctionnalités avancées telles que le chargement de fichiers, la disposition des modèles et l'héritage des modèles.
Chaque fichier modèle générera un fichier cache compilé lors de l'exécution, qui est en fait un fichier PHP pouvant être exécuté.
PHP
/*index/controller/example.php*/ use think\Controller; class test extends Index { public function template (){ $name = 'Jerry'; $allName = [ 0 => "Jerry", 1 => "Tom" ]; $this->assign('nameA',$name); $this->assign('allName',$allName); return $this->fetch('example'); } }
HTML
/*index/view/example.html*/ <span>{$nameA}</span> {volist name="allName" id="vo"} <p data-sub="{$key}" data-index="{$i}">{$vo}</p> {/volist} Result <br /><span>Jerry</span> <p data-sub="0" data-index="1">Jerry</p> <p data-sub="1" data-index="2">Tom</p>
De cette manière, ThinkPHP termine l'analyse de la page, qui implique l'instanciation du modèle, le positionnement, l'affectation, le rendu et l'utilisation de balises.
Afficher l'instanciation
Aucun pour l'instant
Affectation du modèle
Évidemment, il est introuvable lors de l'utilisation de $name directement dans le modèle de cette variable. Les modèles doivent se voir attribuer des valeurs à l'aide de la méthode assign. Avant d'exécuter la fonction de sortie de rendu, la méthode assign établit une relation de mappage entre les variables internes de la fonction et les variables du modèle.
$this->assign('name',$name); $this->assign('allName',$allName);
Après l'affectation, vous pouvez utiliser {$nameA} dans le fichier modèle pour générer la variable.
Rendu du modèle
Lorsque les données sont prêtes à être rendues sur la page, vous devez également spécifier le fichier html comme modèle de rendu et transmettre le paramètre exemple lors de l'exécution de la méthode fetch pour la fonction actuelle.
return $this->fetch('example');
Balises de modèle
L'utilisation de balises intégrées dans les fichiers de modèles peut nous aider à parcourir les modèles, Déterminez les variables. Il utilise une paire d'accolades {tag} {/tag} comme balises d'ouverture et de fermeture. L'attribut ou la valeur de la balise doit être immédiatement suivi entre { et }, et la présence d'espaces et de nouvelles lignes ne peut pas être analysée lors du rendu. La balise
volist est l'une des balises intégrées et est généralement utilisée pour parcourir une variable de tableau.
{volist name="allName" id="vo"} <p data-sub="{$key}" data-index="{$i}">{$vo}</p> {/volist}
allName est une variable attribuée via le modèle. Elle peut désormais être utilisée directement sur le modèle. Évidemment, il s'agit d'un tableau et la balise volist le fait. Opération en boucle.
Quelques attributs couramment utilisés de la balise volist :
prop | name | id |
---|---|---|
key | 数组名 | 当前元素 |
value | allName | vo |
Il y a plusieurs variables internes {$key} {$i} cachées dans volist, Représente respectivement l'indice du tableau et le nombre de boucles.
Balises intégrées
Il existe de nombreuses balises intégrées qui sont aussi utiles que volist :
<notempty name=""></notempty> //判断数据是否不为空 不为空则执行
Node.js utilise jademoteur de modèlesÉtapes détaillées
Développement frontal du nœudMoteur de modèlesExplication détaillée des étapes d'utilisation de Jade
avant du nœud -finMoteur de modèles Explication détaillée de l'utilisation des balises Jade
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!