ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHPテンプレートエンジンの使い方を詳しく解説

ThinkPHPテンプレートエンジンの使い方を詳しく解説

墨辰丷
墨辰丷オリジナル
2018-05-22 16:08:042396ブラウズ

Thinkphp システムはネイティブ PHP テンプレートをサポートしており、XML に基づいて効率的にコンパイルされたテンプレート エンジンが組み込まれています。このテンプレート エンジンのタグの詳細な使用方法については、システムによってデフォルトで使用されます。テンプレート エンジンのセクションを参照してください。

ThinkPHP には、テンプレート ファイルを定義し、ファイルの読み込み、テンプレート レイアウト、テンプレートの継承などの高度な機能を使用するためのテンプレート エンジンが組み込まれています。

各テンプレート ファイルは実行中にコンパイルされたキャッシュ ファイルを生成します。これは実際には実行可能な PHP ファイルです。

PHP

/*index/controller/example.php*/
 
use think\Controller;
 
class test extends Index {
 
  public function template (){
    $name = 'Jerry';
    $allName = [
      0 => "Jerry", 
      1 => "Tom"
    ];
 
    $this->assign('nameA',$name);
    $this->assign('allName',$allName);
 
    return $this->fetch('example');
  }
}


HTML

/*index/view/example.html*/
 
<span>{$nameA}</span>
 
{volist name="allName" id="vo"}
 
  <p data-sub="{$key}" data-index="{$i}">{$vo}</p>
 
{/volist}
 
 
Result

<br /><span>Jerry</span>
 
<p data-sub="0" data-index="1">Jerry</p>
 
<p data-sub="1" data-index="2">Tom</p>

このようにして、ThinkPHP は、テンプレートのインスタンス化、配置、割り当て、レンダリング、タグの使用を含むページの解析を完了します。

ビューのインスタンス化

いいえ

テンプレートの割り当て

$name がテンプレート内で直接使用されている場合、変数は明らかに見つかりません。テンプレートには、assign メソッドを使用して値を割り当てる必要があります。レンダリング出力関数を実行する前に、assign メソッドは関数の内部変数とテンプレート変数の間のマッピング関係を確立します。

$this->assign(&#39;name&#39;,$name);
$this->assign(&#39;allName&#39;,$allName);

値を割り当てた後、テンプレート ファイルで {$nameA} を使用して変数を出力できます。

テンプレートのレンダリング

データをページ上にレンダリングする準備ができたら、HTML ファイルをレンダリング テンプレートとして指定し、現在の関数のフェッチ メソッドを実行するときに example パラメーターを渡す必要もあります。

return $this->fetch(&#39;example&#39;);

テンプレートタグ

テンプレートファイルで組み込みタグを使用すると、テンプレート内の変数をループして決定するのに役立ちます。開始タグと終了タグとして中かっこ {tag} {/tag} のペアを使用します。タグの属性または値は、{ と } の間の直後に続ける必要があり、レンダリング中にスペースや改行の存在を解析することはできません。

volist タグは組み込みタグの 1 つで、通常は配列変数をループするために使用されます。

{volist name="allName" id="vo"}
 
  <p data-sub="{$key}" data-index="{$i}">{$vo}</p>
 
{/volist}

allName はテンプレートを通じて割り当てられた変数で、これは明らかに配列であり、volist タグはループ操作を実行します。

volist タグのよく使用される属性:


prop name id
key 配列名 現在の要素
すべての名前 vo

volist にはいくつかの内部変数 {$key} {$i} が隠されており、それぞれ配列の添え字とループの数を表します。

組み込みタグ

volist と同じくらい便利な組み込みタグがたくさんあります:

<notempty name=""></notempty> //判断数据是否不为空 不为空则执行


関連する推奨事項:

jadetemp を使用した Node.js後期エンジン詳細な手順

ノードフロントエンド開発テンプレートエンジンJadeの使用手順の詳細な説明

ノードフロントエンドテンプレートエンジンJadeタグの使用方法の詳細な説明

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

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