ThinkPHP のコントローラーは、ユーザー入力を受け入れ、ユーザーのニーズを満たすためにモデルとビューを呼び出すクラスです。コントローラー層は、コア コントローラーとビジネス コントローラーで構成され、アプリケーションのスケジュール制御とビジネスを担当します。コントローラーは、ユーザー定義のコントローラー クラス。
このチュートリアルの動作環境: Windows 7 システム、thinkphp v5.1 バージョン、Dell G3 コンピューター。
ThinkPHP は MVC (Model-View-Controller、Model-View-Controller) パターンに基づいており、マルチレイヤー (多層) 設計をサポートしています。
MVC は、アプリケーションの入力、処理、出力の分離を強制する設計パターンです。 MVC を使用するアプリケーションは、モデル (M)、ビュー (V)、およびコントローラー (C) の 3 つのコア コンポーネントに分割されており、それぞれが独自のタスクを処理します。
コントローラー層
ThinkPHP のコントローラーはクラスです。
ThinkPHP のコントローラー層は、コア コントローラーとビジネス コントローラーで構成されます。コア コントローラーは、システム内の App クラスによって完成され、アプリケーション (モジュール、コントローラー、操作を含む) のスケジューリング制御を担当します。 HTTP リクエスト、インターセプトと転送、設定の読み込みなど。ビジネス コントローラーは、ユーザー定義のコントローラー クラスによって完成します。マルチレイヤー ビジネス コントローラーの実装原理は、ビジネス コントローラーやイベント コントローラーなどのモデルの階層化と似ています。
Controller/UserController //ユーザー ビジネス ロジックの制御とスケジューリング用
Event/UserEvent //ユーザー イベント応答操作に使用されます
アクセス コントローラー Home/Controller/UserController.class.php は次のように定義されます:
namespace Home\Controller; use Think\Controller; class UserController extends Controller{ }
イベント コントローラー Home /Event /UserEvent.class.php は次のように定義されます。
namespace Home\Event; use Think\Controller; class UserEvent extends Controller{ }
UserController は外部インタラクション応答を担当し、http://serverName/User/index などの URL リクエストを通じて応答します。一方、UserEvent は内部イベントを担当します。応答のみ 内部的に呼び出すことができます:
A('User','Event');
デフォルトのアクセス コントローラー層はコントローラーですが、次のように設定を調整できます:
'DEFAULT_C_LAYER' => 'Event', // 默认的控制器层名称改为Event
したがって、外部から隔離されます。
マルチレイヤ コントローラの分割は必須ではなく、アプリケーションのニーズに応じて自由に階層化できます。コントローラー層では、必要に応じて階層化モデルを呼び出すことも、さまざまな階層化されたビュー (テーマ) を呼び出すこともできます。
MVC の 3 つの層では、ThinkPHP は M や V に依存しません。C のみまたは V のみを持つこともできます。これは、ThinkPHP 設計において非常に重要なユーザー エクスペリエンス設計です。ユーザーは定義するだけで済みます。 Cがなくても自動認識できます。
[関連チュートリアルの推奨事項: thinkphp フレームワーク]
以上がthinkphpコントローラーとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。