ホームページ  >  記事  >  バックエンド開発  >  ThinkPHPテンプレートエンジンの変数出力の詳細説明

ThinkPHPテンプレートエンジンの変数出力の詳細説明

WBOY
WBOYオリジナル
2016-06-13 12:23:19839ブラウズ

ThinkPHP テンプレート エンジンの変数出力の詳細説明

ThinkPHP テンプレート エンジンの変数出力の詳細説明

を使用して開発していますしばらく ThinkPHP を使用してきましたが、今日は ThinkPHP のテンプレート エンジンの変数分析を深く理解し、いくつかの要約を作成し、参考のために共有しました。具体的な分析は次のとおりです:

アクションで assign メソッドを使用してテンプレート変数に値を代入できることはすでにわかっています。代入後にテンプレート ファイル内の変数の値を出力するにはどうすればよいでしょうか。

アクションで名前テンプレート変数を割り当てる場合:

$name = 'ThinkPHP';$this->assign('name',$name);


組み込みのテンプレート エンジンを使用して変数を出力する場合は、それを使用するだけで済みます。テンプレート ファイル:

{$name}
テンプレートのコンパイル結果は

<?php echo($name);?>

です。最終的に実行すると、ThinkPHP の出力結果が表示されます。ラベルの位置 { と $ の間にスペースを入れないでください。スペースを入れないとタグが無効になります。通常のタグのデフォルトの開始タグは { で、終了タグは } です。たとえば、プロジェクト構成ファイルで次のように定義します。 >
次に、上記の変数の出力ラベルを次のように変更する必要があります:
f1ae60a094afb5383c24c6d7d49bae7e
'TMPL_L_DELIM'=>'<{',  'TMPL_R_DELIM'=>'}>',

の最初のパラメーターを説明するためにデフォルトのラベル定義を使用します。 assign メソッドは、テンプレート ファイルで使用されている変数名を次のコードに変更した場合:




を使用して {$name} を使用すると、出力は無効になります。テンプレートを出力するには、{$name2} を使用する必要があります。ユーザー データ オブジェクトをテンプレート変数に割り当てる必要がある場合:
$name = 'ThinkPHP';$this->assign('name2',$name);



$user は実際には配列変数なので、関連する値を出力するには次のメソッドを使用できます:
$User = M('name');$user = $User->find(1);$this->assign('user',$user);



$user が配列ではなくオブジェクトの場合。 >
{$user['name']}//输出用户的名称{$user['email']} //输出用户的email地址

は以下のように使用できます 以下の方法で関連する属性値を出力します:


$User = M('name');$User->find(1);$this->assign('user',$User);

バージョン 3.1 以降、クラス属性出力メソッドネイティブの PHP オブジェクト記述メソッドをサポートするように調整されているため、上記のタグを次のように変更する必要があります:


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

テンプレートの定義を容易にするために、ドット構文もサポートできます。たとえば、上記の


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

は、ポイント構文のデフォルトの出力が配列モードであるため、


{$user['name']}// 输出用户的名称{$user['email']} // 输出用户的email地址

に変更できます。上記の 2 つの方法は、構成なしで同等です。 TMPL_VAR_IDENTIFY パラメーターを構成することで、その点を判断できます。 構文の出力効果を例として、次の出力を取り上げます。 {$user.name}
If TMPL_VAR_IDENTIFY is set to array. 、

{$user.name} と {$user['name']} 同等、つまり出力配列変数
{$user.name}{$user.email}

TMPL_VAR_IDENTIFY が obj に設定されている場合、

{$user.name} と {$user:name} は同等です。つまり、出力オブジェクトの属性です。

TMPL_VAR_IDENTIFY が空白のままの場合、出力される変数が配列であるかオブジェクトであるかがシステムによって自動的に判断されます。このメソッドは効率にある程度影響しますが、2 次元配列と 2 次元配列のみをサポートします。レベルオブジェクトの属性。

多次元配列または多層オブジェクト属性の出力である場合は、次の定義方法を使用できます:



または



この記事が皆様の ThinkPHP フレームワークに基づく PHP プログラミングのお役に立てれば幸いです。
{$user.sub.name}//使用点语法输出


参考元:
{$user['sub']['name']}// 输出三维数组的&#20540;  {$user:sub:name}// 输出对象的多级属性
ThinkPHP テンプレートエンジンの変数出力の詳細説明
http://www.lai18.com/content/369153.html

精読

「PHP フレームワーク ThinkPHP 学習」シリーズの技術記事集

2 ThinkPHP+Uploadify を使用する画像アップロード機能を実装する

3ThinkPHP は Baidu 翻訳クラスを呼び出してオンライン翻訳を実装します

4ThinkPHP は mongodb データベースを使用して実装します複数条件クエリ メソッド

5ThinkPHP はマルチデータベース接続ソリューションを実装します

6 ThinkPHP の U メソッドを書き換えてページングを作成します通常のルーティングの下で​​

7 ThinkPHP は MYSQL に SESSION を格納するメソッドを実装します

8ThinkPHP 接続データベースとマスター/スレーブデータベース設定チュートリアル

9 ThinkPHP での pathinfo アクセス モード、パス アクセス モード、URL 書き換えの概要

10PHPExcel に基づいて Excel ファイルをインポートする ThinkPHP メソッド

11 列と記事の現在位置を取得する thinkPHP メソッド

12ThinkPHP と AjaxFileUploader を組み合わせて、リフレッシュ不要のファイルアップロード方法を実現

13ThinkPHP の無限分類原理によるメッセージおよび返信関数の実装例

14 Sina SAE プラットフォームでの ThinkPHP の導入例

15 ThinkPHP コントローラー間の相互呼び出し方法

16ThinkPHP が検証コードを使用してファイルアップロード関数を実装する例

17ThinkPHP が配列挿入を書き込み、最新の挿入データ ID を取得する例

18ThinkPHP のウォーターマーク機能は、PNG の透明ウォーターマークを修復し、調整可能な JPEG 画像の品質を向上させることができます

19thinkphp はリテラルを使用して、テンプレート タグがparsed

20 ThinkPHP における RBAC クラスの 4 つの使用法の分析

21 __initialize() と __initialize() の使用法の分析ThinkPHP のクラス コンストラクター __construct()

22 ThinkPHP オートコンプリートで使用される関数とコールバック メソッドの例

23ThinkPHP のファイルを動的にインクルードする方法

24ThinkPHP のメール送信機能の実装 パスワード検索関数の例

25ThinkPHP の実装Alipay インターフェース関数の例

26 Thinkphp 検索中にホームページと検索ページで条件付きページングを維持する方法

27 分析ThinkPHP エントリーファイルの設定と注意事項

28 ThinkPHP テンプレートエンジンの変数出力の詳細説明

29 Thinkphp前後の記事の実装方法

30 ThinkPHPでURLにエントリーファイルを隠してalipayから値を受け取る方法

31 ThinkPHP で認証コードページを開くときに文字化けする問題を解決する方法

32 ThinkPHP で ajax を使用して json データを受信する方法

33 ThinkPHP の組み込み jsonRPC の欠陥分析

34 thinkphp3.0 の出力が 2 回繰り返される問題の解決策

35thinkPHP は自動フォーム検証を実装します

36Thinkphp カードアプリケーションの実践的なポイント

37 thinkphp のインスタンス化モデルに関する簡単な説明

38 ThinkPHP 404 ページのセットアップ方法

39THINKPHP コンテンツ ページング コード共有

40 Nginx での ThinkPHP プロジェクトのデプロイに関するチュートリアル

41 簡単な分析THINKPHP の addAll

42 エラーの解決策 致命的エラー: ThinkPHP

によって要求される許容メモリ サイズ43ThinkPHP3.2.2 プラグインコントローラー機能

44ThinkPHP3.2.3 データベース設定新機能


48 ThinkPHP がデバッグモードを閉じるときのエラー問題の解決方法のまとめ


49ThinkPHP ファイルキャッシュコード共有


著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

1F

u0112524026 時間前

学習のまとめ

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