Heim > Backend-Entwicklung > PHP-Tutorial > Ausgabe von ThinkPHP-Vorlagenvariablen, benutzerdefinierte Funktionen und Verwendung von Beurteilungsanweisungen

Ausgabe von ThinkPHP-Vorlagenvariablen, benutzerdefinierte Funktionen und Verwendung von Beurteilungsanweisungen

不言
Freigeben: 2023-03-30 09:06:01
Original
1895 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich die Variablenausgabe, benutzerdefinierte Funktionen und die Verwendung von Beurteilungsanweisungen von ThinkPHP-Vorlagen vorgestellt. Freunde, die sie benötigen, können darauf zurückgreifen.

Dieser Artikel beschreibt Beispiele für die Ausgabe von ThinkPHP-Vorlagenvariablen, benutzerdefinierte Funktionen und die Verwendung von Beurteilungsanweisungen. Es umfasst hauptsächlich drei Verwendungszwecke: Variablenausgabe, benutzerdefinierte Funktion und Beurteilungsaussage. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:

Ausgabe der Vorlagenoperationsvariablen:

Schnellausgabevariable

Code kopieren Der Code lautet wie folgt:

{:function(…)} //执行方法并输出返回值
{~function} //执行方法不输出
{@var} //输出Session变量
{#var} //输出Cookie变量
{&var} //输出配置参数  
{%var} //输出语言变量
{.var} //输出GET变量
{^var} //输出POST变量
{*var} //输出常量
Nach dem Login kopieren

Vorlagenausgabe

Code kopieren Der Code lautet wie folgt:

//1 直接调用index操作模板
$this->display();
// 对应Myapp/Tpl/default/Index/index.html
//2 调用Index模块的test1操作模板
$this->display('test1');
//对应Myapp/Tpl/default/Index/test1.html
//2 调用Message模块的test2操作模板()
$this->display('Message:test2');
//对应Myapp/Tpl/default/Message/test2.html
//3 调用XP主题的Message模块的test2操作模板
$this->display('Xp@Message:test2');
//对应Myapp/Tpl/Xp/Message/test2.html
//4 直接指定模板文件的全名
$this->display('../Message/test3.html');
//对应Myapp/Tpl/default/Message/test3.html
Nach dem Login kopieren

Beurteilungsaussagen verwenden

Wir können if-Tags verwenden um komplexe bedingte Urteile zu definieren, zum Beispiel:

Code kopieren Der Code lautet wie folgt:

<if condition="($name eq 1) OR ($name gt 100) "> value1
<elseif condition="$name eq 2" />value2
<else /> value3
</if>
Nach dem Login kopieren

Das Bedingungsattribut kann Beurteilungsausdrücke wie eq unterstützen, was der ist Identisch mit dem Vergleichs-Tag oben, unterstützt jedoch nicht „>“ Die Verwendung von Symbolen wie „, „<“ führt zu Verwirrung bei der Vorlagenanalyse, daher ist die folgende Verwendung falsch:

<if condition="$id < 5 "> value1
<else /> value2
</if>
Nach dem Login kopieren

geändert in:

Code kopierenDer Code lautet wie folgt:

<if condition="$id lt 5 "> value1
<else /> value2
</if>
Nach dem Login kopieren

Darüber hinaus können wir PHP-Code im Bedingungsattribut verwenden, zum Beispiel:

Code kopierenDer Code lautet wie folgt:

<if condition="strtoupper($user[&#39;name&#39;]) neq &#39;THINKPHP&#39; "> ThinkPHP
<else /> other Framework
</if>
Nach dem Login kopieren

Das Bedingungsattribut kann Punktsyntax und Objektsyntax unterstützen, zum Beispiel:
Automatisch ermitteln, ob die Benutzervariable vorhanden ist ein Array oder ein Objekt

Kopieren Sie den CodeDer Code lautet wie folgt:

<if condition="$user.name neq &#39;ThinkPHP&#39; "> ThinkPHP
<else /> other Framework
</if>
Nach dem Login kopieren

Oder wissen Sie, dass die Benutzervariable ein Objekt ist

Kopieren Sie den CodeDer Code lautet wie folgt:

<if condition="$user:name neq &#39;ThinkPHP&#39; "> ThinkPHP
<else /> other Framework
</if>
Nach dem Login kopieren

Da das Bedingungsattribut des if-Tags grundsätzlich die PHP-Syntax verwendet, kann es prägnanter sein, Beurteilungs-Tags und Switch-Tags zu verwenden. Wenn es mit Switch- und Vergleichs-Tags gelöst werden kann, versuchen Sie, keine if-Tags zu verwenden. Weil Schalter- und Vergleichs-Tags Variablenmodifikatoren und Systemvariablen verwenden können. Wenn das IF-Tag bestimmte spezielle Anforderungen immer noch nicht erfüllen kann, können Sie nativen PHP-Code oder PHP-Tags verwenden, um Code direkt zu schreiben.

eq ist gleich (==)
neq ist nicht gleich (!=)
gt ist größer als (>)
egt ist größer oder gleich (> =)
lt ist kleiner als (< )
elt ist kleiner oder gleich (<=)
heq ist gleich (===)
nheq ist nicht gleich (! ==)
Bedingungsbedingung
Hinweis
Bedingungsattributwert: Variablen erfordern das $-Symbol, das sich von anderen Bezeichnungen unterscheidet.

So verwenden Sie benutzerdefinierte Funktionen

Funktionsaufrufformat von Vorlagenvariablen: {$varname|function1|function2=arg1, arg2, ###}

Verwendungsbeispiel:

Code kopierenDer Code lautet wie folgt:

{$webTitle|md5|strtoupper|substr=0,3} 
{$number|number_format=2} 
{$varname|function1|function2=arg1,arg2,### }
Nach dem Login kopieren

Das Beispiel lautet wie folgt:

Code kopierenDer Der Code lautet wie folgt:

function Cate($cid){ 
$Cate=D(&#39;Cate&#39;); 
$Cate=$Cate->where(&#39;id=&#39;.$cid)->find(); 
return $Cate[&#39;title&#39;]; 
}
Nach dem Login kopieren

Wenn ich diese Funktion in der Vorlage aufrufen möchte, kann ich sie so in die Vorlage schreiben

Kopieren Sie den Code Der Code lautet wie folgt:

{$vo.cid|cate=###}
Nach dem Login kopieren

Hinweis: Anpassung Die Funktion sollte im Projektanwendungsverzeichnis/common/common.php abgelegt werden. Hier ist der Schlüssel.

Hinweis: Zwischen
{ und dem $-Symbol darf kein Leerzeichen stehen, und es gibt kein Problem mit Leerzeichen in den folgenden Parametern.
### stellt die Parameterposition der Vorlagenvariablen dar selbst;
unterstützt mehrere Funktionen, unterstützt Leerzeichen zwischen Funktionen; die Liste der verbotenen Funktionen kann in der Konfigurationsdatei konfiguriert werden, und wiederholte Variablenzeichenfolgen werden nicht unterstützt mehrfach analysiert werden.

Verwandte Empfehlungen:

ThinkPHP-Vorlagenersatz und Systemkonstanten und Anwendungsbeispiele

Das obige ist der detaillierte Inhalt vonAusgabe von ThinkPHP-Vorlagenvariablen, benutzerdefinierte Funktionen und Verwendung von Beurteilungsanweisungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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