ホームページ バックエンド開発 PHPチュートリアル ThinkPHP テンプレート変数の出力、カスタム関数、および判定ステートメントの使用法

ThinkPHP テンプレート変数の出力、カスタム関数、および判定ステートメントの使用法

Jun 06, 2018 pm 03:41 PM
thinkphp 裁判官の判決 テンプレート カスタム機能

この記事では、ThinkPHP テンプレートの変数出力、カスタム関数、および判定ステートメントの使用法を主に紹介します。これは、ThinkPHP テンプレートを操作する上で非常に実践的なスキルです。この記事の例は、変数について説明しています。 ThinkPHP テンプレートの出力と使用法、カスタム関数と判定ステートメントの使用法。主に変数出力、カスタム関数、判定文の 3 つの用途があります。皆さんの参考に共有してください。具体的な分析は次のとおりです:

テンプレート操作変数の出力:

クイック出力変数

コードをコピー

コードは次のとおりです:

{:function(…)} //执行方法并输出返回值
{~function} //执行方法不输出
{@var} //输出Session变量
{#var} //输出Cookie变量
{&var} //输出配置参数  
{%var} //输出语言变量
{.var} //输出GET变量
{^var} //输出POST变量
{*var} //输出常量
ログイン後にコピー
テンプレートの出力


コードをコピー

コードは次のとおりです:

//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
ログイン後にコピー
判定ステートメントを使用する

if タグを使用して、複雑な条件判定を定義できます。例:

コードをコピー

コードは次のとおりです:

<if condition="($name eq 1) OR ($name gt 100) "> value1
<elseif condition="$name eq 2" />value2
<else /> value3
</if>
ログイン後にコピー
条件属性は、eq などの判定式をサポートできます。上記の比較タグと同じですが、「>」はサポートされていません。「、<」などの記号の使用はテンプレートの解析を混乱させるため、次の使用法は間違っています:

<if condition="$id < 5 "> value1
<else /> value2
</if>
ログイン後にコピー

は次のように変更する必要があります:


コードをコピーします

コードは次のとおりです:

<if condition="$id lt 5 "> value1
<else /> value2
</if>
ログイン後にコピー
さらに、条件属性で php コードを使用できます。たとえば:

コードをコピーします

コードは次のとおりです:

<if condition="strtoupper($user[&#39;name&#39;]) neq &#39;THINKPHP&#39; "> ThinkPHP
<else /> other Framework
</if>
ログイン後にコピー
条件属性はサポートできますドット構文とオブジェクト構文の例:

ユーザー変数が配列かオブジェクトかを自動的に判断する


コードをコピーする

コードは次のとおりです:

<if condition="$user.name neq &#39;ThinkPHP&#39; "> ThinkPHP
<else /> other Framework
</if>
ログイン後にコピー
または、ユーザー変数がオブジェクトであることがわかっています

コードをコピーします

コードは以下の通りです:

<if condition="$user:name neq &#39;ThinkPHP&#39; "> ThinkPHP
<else /> other Framework
</if>
ログイン後にコピー
ifタグのcondition属性は基本的にPHP構文を使用するので、できるだけ判定タグやSwitchタグを使用する で解決できれば、原理的にはより簡潔になります。 switch タグと比較タグ、if タグは使用しないようにしてください。スイッチタグと比較タグでは変数修飾子とシステム変数を使用できるためです。 IF タグが依然として特定の特別な要件を満たせない場合は、ネイティブ PHP コードまたは PHP タグを使用してコードを直接記述することができます。

eq に等しい (==)

neq に等しくない (!=)

gt より大きい (>)
egt より大きいか等しい (>=)
lt より小さい (<)
elt より小さい(<=)
heq と常に等しい (===)
nheq と等しくない (!==)
condition 条件
注意
condition 属性値、変数には $ 記号が必要であり、これは他の変数とは異なりますタグ。

カスタム関数の使い方

テンプレート変数の関数呼び出し形式: {$varname|function1|function2=arg1, arg2, ###}

使用例:


コードをコピー

コードは以下の通りです。

{$webTitle|md5|strtoupper|substr=0,3} 
{$number|number_format=2} 
{$varname|function1|function2=arg1,arg2,### }
ログイン後にコピー
例は次のとおりです:

コードをコピーします

コードは次のとおりです:

function Cate($cid){ 
$Cate=D(&#39;Cate&#39;); 
$Cate=$Cate->where(&#39;id=&#39;.$cid)->find(); 
return $Cate[&#39;title&#39;]; 
}
ログイン後にコピー
テンプレートでこの関数を呼び出したい場合は、テンプレートで次のように記述できます


コピーコード

コードは次のとおりです:

{$vo.cid|cate=###}
ログイン後にコピー
注: カスタム関数が必要です。 プロジェクトのアプリケーション ディレクトリ/common/common.php に配置します。 ここが鍵です。

注:

{ と $ 記号の間にスペースを入れることはできません。後続のパラメーターにスペースを入れても問題ありません。

### はテンプレート変数自体のパラメーターの位置を表し、スペースは複数の関数をサポートします。関数間でサポートされます。
関数シールド機能をサポートします。設定ファイルで禁止された関数のリストを設定できます。
変数キャッシュ機能をサポートし、繰り返される変数文字列は複数回解析されません。

関連する推奨事項:

ThinkPHP テンプレートの置換とシステム定数とアプリケーション例

以上がThinkPHP テンプレート変数の出力、カスタム関数、および判定ステートメントの使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

thinkphpプロジェクトの実行方法 thinkphpプロジェクトの実行方法 Apr 09, 2024 pm 05:33 PM

ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

thinkphp にはいくつかのバージョンがあります thinkphp にはいくつかのバージョンがあります Apr 09, 2024 pm 06:09 PM

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

laravelとthinkphpではどちらが優れていますか? laravelとthinkphpではどちらが優れていますか? Apr 09, 2024 pm 03:18 PM

Laravel フレームワークと ThinkPHP フレームワークのパフォーマンスの比較: ThinkPHP は、最適化とキャッシュに重点を置いて、一般に Laravel よりもパフォーマンスが優れています。 Laravel は優れたパフォーマンスを発揮しますが、複雑なアプリケーションの場合は、ThinkPHP の方が適している可能性があります。

thinkphpのインストール方法 thinkphpのインストール方法 Apr 09, 2024 pm 05:42 PM

ThinkPHP のインストール手順: PHP、Composer、および MySQL 環境を準備します。 Composer を使用してプロジェクトを作成します。 ThinkPHP フレームワークと依存関係をインストールします。データベース接続を構成します。アプリケーションコードを生成します。アプリケーションを起動し、http://localhost:8000 にアクセスします。

thinkphpのパフォーマンスはどうですか? thinkphpのパフォーマンスはどうですか? Apr 09, 2024 pm 05:24 PM

ThinkPHP は、キャッシュ メカニズム、コードの最適化、並列処理、データベースの最適化などの利点を備えた高性能 PHP フレームワークです。公式パフォーマンステストでは、1秒あたり10,000以上のリクエストを処理できることが示されており、実際のアプリケーションではJD.comやCtripなどの大規模なWebサイトやエンタープライズシステムで広く使用されています。

PPTマスクを追加する方法 PPTマスクを追加する方法 Mar 20, 2024 pm 12:28 PM

PPTのマスキングについては、馴染みのない方も多いと思いますが、PPTを作成する際によく理解せず、自分の好きなものを作るために適当に作っている人が多いため、PPTのマスキングの意味が分からない、理解できないという人も多いと思います。 「このマスクが何をするのか知っています。そして、それが写真の単調さを軽減できることさえ知りません。学びたい友達は、来て学び、あなたの PPT 画像に PPT マスクを追加してください。単調さを減らしてください。」では、PPT マスクを追加するにはどうすればよいでしょうか?以下をお読みください。 1. まず、PPT を開き、空白の画像を選択し、次に [背景形式の設定] を右クリックして単色を選択します。 2. [挿入]をクリックし、ワードアートをクリックし、単語を入力します。 3. [挿入]をクリックし、[図形]をクリックします。

C++ テンプレートの特殊化が関数のオーバーロードとオーバーライドに及ぼす影響 C++ テンプレートの特殊化が関数のオーバーロードとオーバーライドに及ぼす影響 Apr 20, 2024 am 09:09 AM

C++ テンプレートの特殊化は、関数のオーバーロードと書き換えに影響します。 関数のオーバーロード: 特殊化されたバージョンでは、特定の型のさまざまな実装が提供されるため、コンパイラーが呼び出すことを選択する関数に影響します。関数のオーバーライド: 派生クラスの特殊バージョンは、基本クラスのテンプレート関数をオーバーライドし、関数呼び出し時の派生クラス オブジェクトの動作に影響を与えます。

See all articles