ホームページ >バックエンド開発 >PHPチュートリアル >thinkPHP フレームワークでのマルチレイヤー コントローラーとマルチレベル コントローラーの使用について

thinkPHP フレームワークでのマルチレイヤー コントローラーとマルチレベル コントローラーの使用について

不言
不言オリジナル
2018-06-14 15:29:572680ブラウズ

この記事では、主に TP (thinkPHP) フレームワークのマルチレイヤー コントローラーとマルチレベル コントローラーの使用法を紹介し、thinkPHP フレームワークのマルチレイヤー コントローラーとマルチレベル コントローラーの構造、原理、使用法を例の形で分析します。必要な友達は、

を参照してください。この記事では、TP (thinkPHP) フレームワークでのマルチレイヤー コントローラーとマルチレベル コントローラーの使用について説明します。参考のために皆さんと共有してください。詳細は次のとおりです。

#マルチレイヤ コントローラのディレクトリ構造は次のとおりです。

§─ コントローラ アクセス コントローラ
│ §─UserController.class.php
│ §─BlogController.class.php
│ ...
─ Event イベント コントローラ
│ §─UserEvent.class.php
│ §─BlogEvent.class.php
│ ...

マルチレイヤー コントローラーをアプリ アプリケーションに追加する パラメーターを追加する必要はありません。 、上記に従ってください ファイルを直接作成するだけです。

マルチレベル コントローラーのインスタンス化:

/*
 * 多层控制器实例化 即和访问控制器Controller同级目录的Service时 可用D方法或A方法
 * 注:访问控制器的名称是通过DEFAULT_C_LAYER设置的,默认是Controller,访问控制器负责外部交互响应,
    其它的控制器层和外部隔离,只能内部调用。定义其他的控制器层,则不一定必须要继承系统的Controller类或其子类,通常需要输出模版的时候才需要继承Controller类。
 */
D('Admin', 'Service');
//或者
A('User','Event');
A('Admin/Blog','Event');  //假设当前模块是Home模块
// 实例化Home模块的User事件控制器
$User = new \Home\Event\UserEvent();
// 实例化Admin模块的Blog事件控制器
$Blog = new \Admin\Event\BlogEvent();

マルチレベル コントローラーディレクトリ構造は次のようになります。

§─Controller アクセスコントローラー
│ §─User ユーザー分類 (グループ)
│ │ §─UserTypeController.class
│ │ §─UserAuthController.class.php
│ ...
│ §─Admin 管理者評価 (グループ)
│ │ §─UserController.class.php
│ │ § ─ ConfigController.class.php
│ ...

そのアクセス形式:

http://serverName/Home/User/UserType
http://serverName/Home/Admin/User

マルチレベル コントローラーをセットアップするには、構成パラメーターの設定、つまりコントローラーの階層レベルの設定が必要です。設定レベル 2 ディレクトリのコントローラ層は次のとおりです:

'CONTROLLER_LEVEL'   => 2,

コマンドスペースは次のとおりです;

<?php
namespace Home\Controller\Admin;
use Think\Controller;
class IndexController extends Controller {
  public function hello(){
    echo &#39;hello&#39;;
  }
  public function test(){
    echo &#39;test&#39;;
  }
}

マルチレベル コントローラーのインスタンス化:

直接インスタンス化可能

// 实例化Home模块的User控制器
$User = new \Home\Controller\User\UserTypeController();
// 实例化Admin模块的Blog控制器
$Blog = new \Admin\Controller\Admin\UserController();

以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

カスタム構成の使用法と ThinkPHP3.2 フレームワークのロードについて

# thinkPHP フレームワークはどのように実装されますか複数のテーブルクエリ

#

以上がthinkPHP フレームワークでのマルチレイヤー コントローラーとマルチレベル コントローラーの使用についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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