ホームページ  >  記事  >  PHPフレームワーク  >  thinkphpコントローラーとは何ですか

thinkphpコントローラーとは何ですか

青灯夜游
青灯夜游オリジナル
2021-12-27 11:22:432306ブラウズ

ThinkPHP のコントローラーは、ユーザー入力を受け入れ、ユーザーのニーズを満たすためにモデルとビューを呼び出すクラスです。コントローラー層は、コア コントローラーとビジネス コントローラーで構成され、アプリケーションのスケジュール制御とビジネスを担当します。コントローラーは、ユーザー定義のコントローラー クラス。

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。