Analyse de la sortie variable du moteur de modèles ThinkPHP

不言
Libérer: 2023-03-30 22:14:01
original
1497 Les gens l'ont consulté

Cet article présente principalement l'utilisation de la sortie variable du moteur de modèles ThinkPHP et analyse l'utilisation courante et les compétences d'utilisation de la sortie variable. Il est d'une grande valeur pratique. Les amis dans le besoin peuvent s'y référer

Ceci. l'article analyse ThinkPHP avec des exemples Utilisation de la sortie variable dans le moteur de modèles. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

Nous savons déjà que nous pouvons utiliser la méthode assign dans Action pour attribuer des valeurs aux variables du modèle. Comment afficher la valeur de la variable dans le fichier modèle après l'avoir attribuée ?

Si nous attribuons une variable de modèle de nom dans Action :

$name = 'ThinkPHP';
$this->assign('name',$name);
Copier après la connexion

Utilisez le moteur de modèle intégré pour afficher la variable, utilisez-la simplement dans le fichier modèle :
{$ name>

Le résultat après la compilation du modèle est

<?php echo($name);?>
Copier après la connexion

Lorsqu'il est finalement exécuté, le résultat de sortie de ThinkPHP peut être affiché à la position de l'étiquette. Notez qu'il ne peut y avoir d'espace entre. { et $ dans l'étiquette du modèle. Sinon, l'étiquette n'est pas valide. La balise de début par défaut pour les balises ordinaires est {, et la balise de fin est}. Elle peut également être modifiée en définissant TMPL_L_DELIM et TMPL_R_DELIM. Par exemple, nous définissons dans le fichier de configuration du projet :

&#39;TMPL_L_DELIM&#39;=>&#39;<{&#39;,  
&#39;TMPL_R_DELIM&#39;=>&#39;}>&#39;,
Copier après la connexion

. la balise de sortie de variable ci-dessus est Elle doit être remplacée par :

<{$name}>
Copier après la connexion

Nous utiliserons la définition de balise par défaut pour expliquer le contenu suivant. Le premier paramètre de la méthode d'affectation est le nom de la variable utilisé dans le fichier modèle. . S'il est modifié par le code suivant :

$name = &#39;ThinkPHP&#39;;
$this->assign(&#39;name2&#39;,$name);
Copier après la connexion

La sortie utilisant {$name} sera invalide. {$name2} doit être utilisée pour afficher la valeur de la variable de modèle si nous en avons besoin. attribuez un objet de données utilisateur à la variable de modèle :

$User = M(&#39;name&#39;);
$user = $User->find(1);
$this->assign(&#39;user&#39;,$user);
Copier après la connexion

C'est-à-dire que $user est en fait une variable de tableau. Nous pouvons utiliser la méthode suivante pour générer les valeurs associées :

{$user[&#39;name&#39;]}//输出用户的名称
{$user[&#39;email&#39;]} //输出用户的email地址
Copier après la connexion
<. 🎜>Si $user est un objet au lieu d'un tableau

$User = M(&#39;name&#39;);
$User->find(1);
$this->assign(&#39;user&#39;,$User);
Copier après la connexion
Vous pouvez utiliser la méthode suivante pour générer les valeurs d'attribut associées :

{$user:name}// 输出用户的名称
{$user:email} // 输出用户的email地址
Copier après la connexion
Après la version 3.1, l'attribut de classe. La méthode de sortie a été ajustée pour prendre en charge l'écriture d'objets PHP natifs, donc les balises ci-dessus doivent être remplacées par :

{$user->name}// 输出用户的名称
{$user->email} // 输出用户的email地址
Copier après la connexion
Afin de faciliter la définition du modèle, la syntaxe par points peut également être prise en charge. Par exemple, celle ci-dessus.

{$user[&#39;name&#39;]}// 输出用户的名称
{$user[&#39;email&#39;]} // 输出用户的email地址
Copier après la connexion
peut être remplacé par

{$user.name}
{$user.email}
Copier après la connexion
Étant donné que la sortie par défaut de la syntaxe point est le mode tableau, les deux méthodes ci-dessus sont équivalentes sans configuration. Nous pouvons déterminer l'effet de sortie du point. syntaxe en configurant le paramètre TMPL_VAR_IDENTIFY. Prenons comme exemple le résultat suivant : {$user.name>

Si TMPL_VAR_IDENTIFY est défini sur array, alors

{$user.name} est équivalent à {$user['name']}, qui est la variable du tableau de sortie

Si TMPL_VAR_IDENTIFY est défini sur obj, alors

{$user.name} est équivalent à {$user : name}, qui est l'attribut de l'objet de sortie.

Si TMPL_VAR_IDENTIFY est laissé vide, le système déterminera automatiquement si la variable à générer est un tableau ou un objet. Cette méthode affectera l'efficacité dans une certaine mesure et ne prend en charge que les tableaux à deux dimensions et à deux dimensions. attributs d'objet de niveau.

S'il s'agit de la sortie d'un tableau multidimensionnel ou d'un attribut d'objet multicouche, vous pouvez utiliser la méthode de définition suivante :

{$user.sub.name}//使用点语法输出
Copier après la connexion
ou utiliser

{$user[&#39;sub&#39;][&#39;name&#39;]}// 输出三维数组的值  
{$user:sub:name}// 输出对象的多级属性
Copier après la connexion
Ce qui précède est le contenu complet de l'article, j'espère qu'il sera utile à l'apprentissage de tout le monde. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Utilisation des classes d'action dans la conception de l'architecture du programme Laravel

Sortie du jugement de plage du modèle ThinkPHP dans l'utilisation des balises et des balises Range

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