Explication détaillée de l'utilisation du moteur de modèles ThinkPHP

不言
Libérer: 2023-03-25 18:36:01
original
1267 Les gens l'ont consulté

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');
  }
}
Copier après la connexion

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>
Copier après la connexion

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(&#39;name&#39;,$name);
$this->assign(&#39;allName&#39;,$allName);
Copier après la connexion

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(&#39;example&#39;);
Copier après la connexion

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}
Copier après la connexion

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 :

propnameid
key数组名当前元素
valueallNamevo

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> //判断数据是否不为空 不为空则执行
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal