ThinkPHP の各 xxxAction.class.php ファイルは、アプリケーション モジュールを表します。このアクションの各メソッド (関数) は、テンプレートに出力される操作と、出力操作のみに必要な操作に分けられます。 。
Myapp/Lib/Action/IndexAction.class.php ファイルを開くと、内部の基本的なコードが表示されます:
これに関して、いくつかの点を指摘する必要があります:
1. ThinkPHPの開発において、アプリケーションモジュールを追加したい場合、クラスのファイル名の形式は「モジュール名+Action.class.php」となります。たとえば、ここでのアプリケーション モジュールは Index であるため、定義ファイルの名前は IndexAction.class.php になります。
2. アプリケーションモジュールクラスの定義は、フレームワークのActionクラスを継承する必要があります。このアプリケーション モジュールに操作を追加するには、この操作にちなんだ名前の関数を定義します。たとえば、上記のインデックス操作です。
通常、アプリケーション モジュールには、ページとユーザーの対話を必要とする操作 (関数) がいくつかあります。これには、ThinkPHP 自体に一連の ThinkPHP 機能が組み込まれており、非常に強力で簡単です。拡張するのに非常に便利なアプリケーションです。
due モジュール内で、特定の操作でページ表示が必要な場合は、Myapp/Tpl/default/ に対応するフォルダーを作成します。このフォルダーには、アプリケーション モジュールの名前に基づいた名前が付けられ、この関数で名前が付けられた HTML ファイルを作成します。名前を指定すると、このメソッドの $this->display() メソッドを使用して、テンプレートを直接呼び出すことができます。 (もちろん、他のモジュールの下で他のテンプレートを呼び出したり、テンプレート ファイルの場所と名前を明示的に指定したりすることもできます。これは段階的に学習するため、今回は無視しましょう。) これらの理論を理解した後、簡単に練習してみましょう。この知識。
(1) Myapp/Tpl/default/ の下にフォルダーを作成します。アプリケーションモジュールの名前に従って、このフォルダーに Index
という名前を付けます。
(2) Myapp/Tpl/default/Index/ 配下に html ファイルを作成します。 オペレーション名に応じて、ファイル名をindex.html
とします。
(3) Myapp/Lib/Action/IndexAction.class.php ファイルを開き、コードを
に変更します。
(マニュアルからの抜粋: ThinkPHP テンプレート ガイド。以下の知識ポイントはすべて ThinkPHP 公式マニュアルからのものであり、それ以上の記述はありません)
テンプレート変数に値を代入するには、Action クラスの assign メソッドを使用します。変数の型に関係なく、一律に代入代入が使用されます。
// 以下の書き方は同等です
// テンプレート変数に値を割り当てた後、テンプレート ファイルを呼び出して、関連する変数を出力する必要があります。テンプレート呼び出しは、表示メソッドを通じて実装されます
。
4 Myapp/Tpl/default/Index/index.html ファイルを開きます。コードは
です。
ここで注意してください: テンプレート変数は出力に {$variable name} タグを使用します。
異なるテンプレート変数タイプは異なるラベルを使用します。ラベルは個別に定義できるため、ここでは無視してください。
5 ブラウザを開いてアドレス「http://127.0.0.1/」を入力します。定義したテンプレート変数が出力されていることがわかります。
追加の補足知識:
1 複数のテンプレート変数を同時に出力したい場合は、次の方法を使用できます:
このようにして、名前、メールアドレス、電話番号の3つの変数をテンプレートファイルに同時に出力できます。
2 上記の変数定義を使用して、配列全体を出力するテンプレート変数として定義します
HTML で $array['name'] の値を出力するコードは次のとおりです
{$array.name} または {$array['name']}
3 この配列をループして出力します
(1) IndexAction.class.phpのコード変更は以下の通りです
(2) Myapp/Tpl/default/Index/index.html コードを次のように変更します。
注: name='array' は、ループされるテンプレート変数が配列であることを意味し、id='vo' は、テンプレートを出力するときにこのデータで使用される名前を指します