Maison >développement back-end >tutoriel php >Explication détaillée de l'utilisation du moteur de modèles ThinkPHP
Cet article présente principalement l'explication détaillée sur l'utilisation du moteur de modèles ThinkPHP. Il a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer
Le système thinkphp prend en charge le PHP natif. modèles, et lui-même. Il 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 au. section du moteur de modèle.
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 façon, ThinkPHP termine l'analyse de la page, qui implique l'instanciation du modèle, le positionnement, l'affectation, le rendu et l'utilisation d'étiquettes.
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 afficher 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èle peut nous aider à boucler et à juger les variables du modèle. 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. Il s'agit évidemment d'un tableau, et la balise volist effectue une opération de boucle dessus.
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, qui représentent l'indice du tableau et le nombre de boucles respectivement.
Balises intégrées
Il existe de nombreuses balises intégrées qui sont aussi utiles que volist :
<notempty name=""></notempty> //判断数据是否不为空 不为空则执行
Ce qui précède est l'intégralité contenu de cet article, veuillez prêter attention au site Web PHP chinois pour plus de contenu connexe.
Recommandations associées :
Exemples d'utilisation des fonctions dans les modèles thinkPHP
Analyse de l'utilisation des fonctions liées aux opérations arithmétiques dans thinkPHP modèles
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!