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

墨辰丷
Libérer: 2023-03-27 13:56:02
original
2354 Les gens l'ont consulté

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

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}
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. É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 :


propnameid
key数组名当前元素
valueallNamevo

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


Recommandations associées :

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!

É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