ThinkPHP6 は、MVC (モデル-ビュー-コントローラー) パターンを使用してアプリケーションの論理構造を編成する人気の PHP フレームワークです。 MVC パターンは、アプリケーションをモデル、ビュー、コントローラーの 3 つの部分に分割するオブジェクト指向プログラミングの設計パターンです。各部分には独自の独立した責任があるため、アプリケーションの保守と拡張が容易になります。この記事では、ThinkPHP6 で MVC パターンを使用する方法を紹介します。
モデルは、データを処理するアプリケーションの一部です。これらは通常、データベースと対話する中間層であり、アプリケーションとデータベースの間でデータを受け渡すために使用されます。 ThinkPHP6 では、モデルは通常、app/Model ディレクトリーに保管されます。 ThinkPHP6ではModelクラスを継承してモデルを作成できます。以下はサンプル モデルです:
<?php namespace appmodel; use thinkModel; class User extends Model { protected $pk = 'user_id'; //主键名 public function getUserById($id) { return $this->where('user_id', $id)->find(); } }
上記の例では、User モデルを定義し、ThinkPHP6 の Model クラスを継承することでその機能を拡張しました。また、データベースからユーザー ID に基づいてユーザー データを検索し、結果を返す getUserById メソッドも定義します。モデルでは、データを操作する他の方法や追加の機能を定義できます。
ビューは、ユーザーが操作するアプリケーションの一部です。これらは通常、データを表示し、ユーザー入力を受け取る HTML インターフェイスです。 ThinkPHP6 では、ビューは通常、app/view ディレクトリーの下に保管され、PHP ファイル・テンプレートを使用して編成されます。サンプル ビューを次に示します:
<!DOCTYPE html> <html> <head> <title>User Profile</title> </head> <body> <h1><?= $user->username ?>'s Profile</h1> <p>Name: <?= $user->name ?></p> <p>Email: <?= $user->email ?></p> </body> </html>
上の例では、ユーザー ビューを定義し、PHP で = ?> タグを使用してコントローラーからデータを出力しました。ビューはユーザー インターフェイスの一部であるため、通常、コントローラーと密接に結合されています。したがって、アプリケーションを開発するときは、ビューがコントローラー内のデータを使用してユーザー インターフェイスを操作できることを確認する必要があります。
コントローラーは、ユーザー入力を処理し、モデルを操作するアプリケーションの一部です。これらは通常、ユーザーリクエスト (URL など) を介して呼び出されます。 ThinkPHP6 では、コントローラーは通常 app/controller ディレクトリーの下に保管され、ルート構成ファイルで定義されることによってリクエストを処理します。以下はサンプル コントローラーです:
<?php namespace appcontroller; use thinkacadeView; use appmodelUser; class UserController { public function profile($id) { $user = User::where('user_id', $id)->find(); View::assign('user', $user); return View::fetch('user/profile'); } }
上の例では、UserController コントローラーを定義しており、ユーザーが /profile/id ルートにアクセスするときに呼び出されるプロファイル メソッドがあります。このメソッドは、User モデルを使用してデータベースからユーザー データを検索し、それをユーザー変数として割り当て、ビューを PHP ファイル テンプレート (ユーザー/プロファイル) としてロードします。このテンプレートにはユーザー プロファイルが表示されます。
要約すると、MVC パターンはアプリケーション構造を編成する強力な方法です。 ThinkPHP6 フレームワークで MVC パターンを使用すると、アプリケーションの特定のタスクをより適切に分離することができます。 MVC を使用する利点の 1 つは、各部分を個別に調整できるため、アプリケーションの拡張と保守が容易になることです。
以上がThinkPHP6 での MVC パターンの使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。