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

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

青灯夜游
リリース: 2021-12-27 11:22:51
オリジナル
2404 人が閲覧しました

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート