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

ThinkPHP テンプレート エンジンの変数出力の分析

不言
不言オリジナル
2018-06-08 17:22:441484ブラウズ

この記事では、ThinkPHP テンプレート エンジンの変数出力の使用法を主に紹介し、変数出力の一般的な使用方法と使用スキルを分析します。必要な友人は非常に参考になります。この記事では、テンプレート エンジンでの変数出力の使用例を示して ThinkPHP を分析しています。皆さんの参考に共有してください。具体的な分析は次のとおりです。

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

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

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

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

{$name}


テンプレートのコンパイル後の結果は

<?php echo($name);?>

です。最終的に実行すると、ラベルの位置に ThinkPHP の出力結果が表示されます。{ と $ の間にスペースを入れることはできません。そうでない場合、ラベルは無効になります。通常のタグのデフォルトの開始タグは { で、終了タグは } です。たとえば、プロジェクト設定ファイルで次のように定義します。これは TMPL_L_DELIM と TMPL_R_DELIM を設定することによっても変更できます。変数の出力ラベルは次のように変更する必要があります:

&#39;TMPL_L_DELIM&#39;=>&#39;<{&#39;,  
&#39;TMPL_R_DELIM&#39;=>&#39;}>&#39;,

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

<{$name}>

{$name} を再度使用すると、出力は無効になります。ユーザー データ オブジェクトを割り当てる必要がある場合は、{$name2} を使用する必要があります。

$name = &#39;ThinkPHP&#39;;
$this->assign(&#39;name2&#39;,$name);

また、$user は実際には配列変数です。次のメソッドを使用して関連する値を出力できます。

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

$user がオブジェクトの場合。配列の代わりに。

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

次の方法で次の出力関連の属性値を使用できます:

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

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

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

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

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

もサポートできます。ドット構文のデフォルトの出力は配列モードであるため、上記の 2 つの方法は構成下では同等です。TMPL_VAR_IDENTIFY パラメーターを構成することで、ポイント構文の出力効果を決定できます。次の出力を例に挙げます。 {$user.name}

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

{$user.name} は {$user['name' と同等です。 ]}、これは出力配列変数です。

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

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

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

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

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

または

{$user.name}
{$user.email}

上記がこの記事の全内容です。お役に立てば幸いです。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

Laravel プログラム アーキテクチャ設計におけるアクション クラスの使用法

ThinkPHP テンプレートの範囲判定出力 In タグと Range タグの使用法

以上がThinkPHP テンプレート エンジンの変数出力の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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