thinkphp の include の正しい理解と使用法

黄舟
リリース: 2023-03-11 11:54:02
オリジナル
5704 人が閲覧しました

includeを使用したテンプレートの導入は、非常に柔軟なレイアウト ソリューションです。 しかし、公式チュートリアルはあまり明確ではないため、誤解を招くことがよくあります。それでは 2 つの文について説明します:
1. まず、include によって導入されたテンプレートと
action に対応するテンプレートの違いです。 これが一番わかりにくいです。アクションに対応するテンプレートはアクションにバインドされます。
テンプレートを含めることはアクションと関係がありますか?
インクルードテンプレートは単なる HTML であり、どこにでも配置できます。そのパラメータは、それを定義するアクションによって解析されませんが、それを使用するアクションはその解析に影響します。
jsテンプレートを使用したことがある場合は、理解しやすいでしょう。
紛らわしいのは、 include が
controller/method パターン を使用して参照できることです。これは、アクション コントローラーのビューをテンプレートとしても使用できることを意味します。ただし、ビュー内の HTML コードのみが使用されます。アクション内のコードは実行されません。 2.データソースを含めます。 include のデータ ソースはアクションではなく、include タグで渡されます。たとえば、公式チュートリアルの例:

<include file="Public/header" title="ThinkPHP框架" keywords="开源 WEB开发框架" />
ログイン後にコピー

ここでは、タイトルとキーワードが 2 つの

変数

であり、これら 2 つの変数は include テンプレートに渡されます。それは行動によってもたらされるものではありません。 結論:
include テンプレートは独立しており、どこからでも呼び出すことができます。パラメータを受信する機能を持ちます。
それを使用する人は誰でもそれを継承することを忘れないでください。
アクション ビューをインクルード テンプレートとして使用するのは、既製の HTML の使用を容易にするためです。アクションに対応するビューがインクルード テンプレートとして導入されると、ビューは独立した HTML フラグメントに変換され、アクションとは何の関係もありません。したがって、公式ステートメントは次のとおりです。
テンプレート ファイルをインクルードしても、コントローラーのメソッドは自動的に呼び出されないことに注意してください。つまり、他のインクルードされたテンプレート ファイル内の変数の割り当ては、現在の操作で完了する必要があります。
変数がインクルードに含まれている場合、ソースはビューのソースであるアクションではなく、現在このインクルードを使用しているアクションでもあります。そのアクションは実行されません!今では理解できます。
したがって、インクルード テンプレートを理解するための鍵は、それが多くの再利用可能な HTML フラグメントの編成であるということです。これらのフラグメントが独立した HTML であるか、アクション内のビューであるかは関係ありません。
私のアプローチとしては、css、img、jsが置かれているpublicフォルダーの下に置きます。 htmltpl フォルダーを追加します。

<include file="./Public/htmltpl/abc.html" />
ログイン後にコピー

は分かりやすく説明されています。


以上がthinkphp の include の正しい理解と使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!