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} //输出常量
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
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>
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>
geändert in:
Code kopierenDer Code lautet wie folgt:
<if condition="$id lt 5 "> value1 <else /> value2 </if>
Darüber hinaus können wir PHP-Code im Bedingungsattribut verwenden, zum Beispiel:
Code kopierenDer Code lautet wie folgt:
<if condition="strtoupper($user['name']) neq 'THINKPHP' "> ThinkPHP <else /> other Framework </if>
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 'ThinkPHP' "> ThinkPHP <else /> other Framework </if>
Oder wissen Sie, dass die Benutzervariable ein Objekt ist
Kopieren Sie den CodeDer Code lautet wie folgt:
<if condition="$user:name neq 'ThinkPHP' "> ThinkPHP <else /> other Framework </if>
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,### }
Das Beispiel lautet wie folgt:
Code kopierenDer Der Code lautet wie folgt:
function Cate($cid){ $Cate=D('Cate'); $Cate=$Cate->where('id='.$cid)->find(); return $Cate['title']; }
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=###}
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:
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!