この記事では主に ThinkPHP テンプレート エンジンの使用方法について詳しく説明します。必要な方は参考にしてください。thinkphp システムはネイティブ PHP テンプレートをサポートしています。 -in 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('name',$name); $this->assign('allName',$allName);
値を割り当てた後、テンプレート ファイルで {$nameA} を使用して変数を出力できます。
テンプレートのレンダリングデータをページ上にレンダリングする準備ができたら、HTML ファイルをレンダリング テンプレートとして指定し、現在の関数のフェッチ メソッドを実行するときに example パラメーターを渡す必要もあります。
return $this->fetch('example');
テンプレート ファイルで組み込みタグを使用すると、テンプレート内の変数をループして決定するのに役立ちます。開始タグと終了タグとして中かっこ {tag} {/tag} のペアを使用します。タグの属性または値は、{ と } の間の直後に続ける必要があり、レンダリング中にスペースや改行の存在を解析することはできません。
volist タグは組み込みタグの 1 つで、通常は配列変数をループするために使用されます。
{volist name="allName" id="vo"} <p data-sub="{$key}" data-index="{$i}">{$vo}</p> {/volist}
allName はテンプレートを通じて割り当てられた変数であり、これは明らかに配列であり、volist タグはループ操作を実行します。
volist タグの一般的に使用される属性:
name | id | |
---|---|---|
current element | value | |
vo | volist にはいくつかの内部変数 {$key} {$i} が隠されており、それぞれ配列の添字とループの数を表します。 |
volist と同じくらい便利な組み込みタグがたくさんあります: 関連する推奨事項: thinkPHP テンプレートでの算術演算に関連する関数の使用方法の分析 以上がThinkPHP テンプレート エンジンの使用方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。<notempty name=""></notempty> //判断数据是否不为空 不为空则执行