ThinkPHP テンプレート出力表示使用状況分析、thinkphpdisplay
この記事では、例を通じて ThinkPHP テンプレート出力表示の使用法を分析します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
テンプレート変数に値を割り当てた後、テンプレート ファイルを呼び出して関連する変数を出力する必要があります。テンプレート呼び出しは、操作メソッドの最後で使用します。
コードをコピーします コードは次のとおりです:
$this->display();
テンプレートは、以前のテンプレート定義ルールに従って出力できます。システムはデフォルトのルールに従ってテンプレート ファイルを自動的に検索するため、通常、表示メソッドはパラメータなしで対応するテンプレートを出力できます。これはテンプレート出力の最も単純な使用法です。 。
物事には常に例外があり、モジュールごとにディレクトリに例外を保存する必要がない場合もありますが、表示方法は常に問題の解決に役立ちます。
Display メソッドには、テンプレート ファイルがどこにあるかに関係なく、必要なテンプレートを好きなように出力できるように、いくつかのルールが用意されています。
具体的な使い方を見てみましょう:
1. 現在のモジュールの他の操作テンプレートを呼び出します
形式:display('操作名')
たとえば、現在の操作が User モジュールでの読み取り操作であると仮定すると、User モジュールの編集操作テンプレートを呼び出す必要があります。以下を使用します。
コードをコピーします コードは次のとおりです:
$this->display('edit');
テンプレートファイルのパスやサフィックスを記述する必要はありません。
2. 他のモジュールの操作テンプレートを呼び出す
形式:display('モジュール名:オペレーション名')
たとえば、現在は User モジュールですが、Member モジュールの読み取り操作テンプレートを呼び出す必要があります。以下を使用します。
コードをコピーします コードは次のとおりです:
$this->display('Member:read');
この方法では、テンプレート ファイルのパスとサフィックスを記述する必要もありません。厳密に言えば、ここでのモジュール名と操作名は、必ずしも対応するモジュールまたは操作を持つ必要はなく、たとえば、ディレクトリ名とファイル名だけです。 , プロジェクトに Public モジュールが存在しない可能性があります。ましてや、Public モジュールのメニュー操作は可能ですが、それでも使用できます
コードをコピーします コードは次のとおりです:
$this->display('Public:menu');
このテンプレート ファイルを出力すると、テンプレートの出力が明確になります。
3. 他のテーマの操作テンプレートを呼び出す
形式:display('トピック名:モジュール名:オペレーション名')
たとえば、Xp テーマの User モジュールの編集操作テンプレートを呼び出す必要がある場合は、次を使用します:
コードをコピーします コードは次のとおりです:$this->display('Xp:User:edit');
このメソッドではモジュールとオペレーション名を指定する必要があります
4. ダイレクトフルパス出力テンプレート
形式:display('テンプレートファイル名')
たとえば、現在の Public ディレクトリの下に menu.html テンプレート ファイルを直接出力する場合は、次を使用します:
コードをコピーします コードは次のとおりです:$this->display('./Public/menu.html');
この方法では、テンプレートのパスとサフィックスを指定する必要があります。ここでのパブリック ディレクトリは、別のサフィックス ファイルの場所の下にあります。例:
コードをコピーします コードは次のとおりです:$this->display('./Public/menu.tpl');
./Public/menu.tpl が実際の既存のテンプレート ファイルである限り、相対パスが使用されている場合、現在の場所はテンプレート ディレクトリではなく、プロジェクトのエントリ ファイルを基準としていることに注意してください。
実際には、表示メソッドには他のパラメータと使用法があります。
場合によっては、デフォルトのエンコーディングの代わりに、指定したエンコーディングをテンプレート ページに出力する必要があります。
コードをコピーします コードは次のとおりです:$this->display('Member:read', 'gbk');
または、出力テンプレート ファイルが text/html 形式ではなく、XML 形式である場合は、以下を使用できます:
コードをコピーします コードは次のとおりです:$this->display('Member:read', 'utf-8', 'text/xml');
ウェブサイトの出力エンコーディングがデフォルトのエンコーディングではない場合は、以下を使用できます:
コードをコピーします コードは次のとおりです:'DEFAULT_CHARSET'=> 'gbk'
XML 形式を出力したい場合は、以下を使用できます:
コードをコピーします コードは次のとおりです:'TMPL_CONTENT_TYPE'=> 'text/xml'
;
テンプレート ファイルをレンダリングする必要がなく、コンテンツを直接出力する場合は、次のような show メソッドを使用できます。
コードをコピーします
コードは次のとおりです:$this->show($content, 'utf-8', 'text/xml');
この記事で説明した内容が、皆様の ThinkPHP フレームワーク プログラミングに役立つことを願っています。
http://www.bkjia.com/PHPjc/917683.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/917683.html技術記事 ThinkPHP テンプレート出力表示の使用分析、thinkphpdisplay この記事では、ThinkPHP テンプレート出力表示の使用状況を例とともに分析します。参考のためにみんなで共有してください。具体的な分析は次のとおりです: テンプレート変数...