Analyse der variablen Ausgabe der ThinkPHP-Vorlagen-Engine

不言
Freigeben: 2023-03-30 22:14:01
Original
1483 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Verwendung der variablen Ausgabe der ThinkPHP-Vorlagen-Engine vor und analysiert die allgemeine Verwendung und die Verwendungsfähigkeiten der variablen Ausgabe. Er ist von großem praktischem Wert.

Dies Der Artikel analysiert ThinkPHP anhand von Beispielen zur Verwendung der Variablenausgabe in der Template-Engine. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:

Wir wissen bereits, dass wir die Zuweisungsmethode in Aktion verwenden können, um Vorlagenvariablen Werte zuzuweisen. Wie wird der Wert der Variablen in der Vorlagendatei nach der Zuweisung ausgegeben?

Wenn wir in Aktion eine Namensvorlagenvariable zuweisen:

$name = 'ThinkPHP';
$this->assign('name',$name);
Nach dem Login kopieren

Verwenden Sie die integrierte Vorlagen-Engine, um die Variable auszugeben, verwenden Sie sie einfach in der Vorlagendatei:
{$name}

Das Ergebnis nach der Vorlagenkompilierung ist

<?php echo($name);?>
Nach dem Login kopieren

Wenn es schließlich ausgeführt wird, kann das Ausgabeergebnis von ThinkPHP an der Beschriftungsposition angezeigt werden. Beachten Sie, dass zwischen { und $ in kein Leerzeichen stehen darf das Vorlagenetikett, andernfalls ist das Etikett ungültig. Das Standard-Start-Tag für gewöhnliche Tags ist { und das End-Tag ist}. Es kann auch durch Festlegen von TMPL_L_DELIM und TMPL_R_DELIM geändert werden. Beispielsweise definieren wir in der Projektkonfigurationsdatei:

&#39;TMPL_L_DELIM&#39;=>&#39;<{&#39;,  
&#39;TMPL_R_DELIM&#39;=>&#39;}>&#39;,
Nach dem Login kopieren

Dann die Variable Die obige Ausgabebezeichnung sollte geändert werden in:

<{$name}>
Nach dem Login kopieren

Wir werden die Standard-Tag-Definition verwenden, um den folgenden Inhalt zu erläutern. Der erste Parameter in der Zuweisungsmethode ist der in der Vorlagendatei verwendete Variablenname Der folgende Code:

Wenn
$name = &#39;ThinkPHP&#39;;
$this->assign(&#39;name2&#39;,$name);
Nach dem Login kopieren

erneut {$name} verwendet, muss {$name2} verwendet werden, um den Wert der Vorlagenvariablen auszugeben zur Vorlagenvariablen:

$User = M(&#39;name&#39;);
$user = $User->find(1);
$this->assign(&#39;user&#39;,$user);
Nach dem Login kopieren

also Das heißt, $user ist tatsächlich eine Array-Variable. Wir können die folgende Methode verwenden, um verwandte Werte auszugeben:

{$user[&#39;name&#39;]}//输出用户的名称
{$user[&#39;email&#39;]} //输出用户的email地址
Nach dem Login kopieren

Wenn $user ein Objekt ist Anstelle eines Arrays kann

$User = M(&#39;name&#39;);
$User->find(1);
$this->assign(&#39;user&#39;,$User);
Nach dem Login kopieren

die folgenden ausgabebezogenen Attributwerte verwenden:

{$user:name}// 输出用户的名称
{$user:email} // 输出用户的email地址
Nach dem Login kopieren

Nach Version 3.1 wurde die Attributausgabemethode der Klasse angepasst, um die native PHP-Objektschreibmethode zu unterstützen Daher muss das obige Tag geändert werden in:

{$user->name}// 输出用户的名称
{$user->email} // 输出用户的email地址
Nach dem Login kopieren

Um die Vorlagendefinition zu erleichtern, kann auch die Punktsyntax unterstützt werden. Beispielsweise kann das obige

{$user[&#39;name&#39;]}// 输出用户的名称
{$user[&#39;email&#39;]} // 输出用户的email地址
Nach dem Login kopieren

in <🎜 geändert werden >

{$user.name}
{$user.email}
Nach dem Login kopieren

Da die Standardausgabe der Punktsyntax ein Array ist, sind die beiden oben genannten Methoden unter Konfiguration äquivalent. Wir können den Ausgabeeffekt der Punktsyntax bestimmen, indem wir den Parameter TMPL_VAR_IDENTIFY konfigurieren ein Beispiel: {$user.name}

Wenn TMPL_VAR_IDENTIFY auf Array gesetzt ist, dann ist

{$user.name} äquivalent zu {$user['name']}, d. h die Ausgabe-Array-Variable.

Wenn TMPL_VAR_IDENTIFY auf obj gesetzt ist, dann ist

{ $user.name} äquivalent zu {$user:name}, dem Attribut des Ausgabeobjekts.

Wenn TMPL_VAR_IDENTIFY leer bleibt, bestimmt das System automatisch, ob die auszugebende Variable ein Array oder ein Objekt ist. Diese Methode wirkt sich bis zu einem gewissen Grad auf die Effizienz aus und unterstützt nur zweidimensionale Arrays und zweidimensionale Arrays. Objektattribute der Ebene.

Wenn es sich um die Ausgabe eines mehrdimensionalen Arrays oder eines mehrschichtigen Objektattributs handelt, können Sie die folgende Definition verwenden:

{$user.sub.name}//使用点语法输出
Nach dem Login kopieren

oder

{$user[&#39;sub&#39;][&#39;name&#39;]}// 输出三维数组的值  
{$user:sub:name}// 输出对象的多级属性
Nach dem Login kopieren
Das Obige ist Ich hoffe, dass der gesamte Inhalt dieses Artikels hilfreich ist. Für weitere verwandte Inhalte achten Sie bitte auf die chinesische PHP-Website!

Verwandte Empfehlungen:

Die Verwendung von Aktionsklassen im Laravel-Programmarchitekturdesign

ThinkPHP-Vorlagenbereichsbeurteilungsausgabe im In-Tag und Range-Tag Verwendung

Das obige ist der detaillierte Inhalt vonAnalyse der variablen Ausgabe der ThinkPHP-Vorlagen-Engine. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!