``` <?php // // Saas.php // Saas接入基类 // // Created by lijianlin on 2019-01-22. // Copyright 2019 lijianlin. All rights reserved. // namespace app\saas\controller; use think\Controller; use think\facade\Hook; class Saas extends Controller { /** * service * * @var object */ public $service = null; /** * 构造函数处理头部请求 * * @return void */ public function __construct($type = 0, \think\Request $request) { // 登录跳过 if (!$type) { // 注册行为监听 Hook::add('app_init', [ // 校验请求接口的身份(身份验证) 'app\\saas\\behavior\\AuthToken' ]); Hook::listen('app_init', []); } // 立即执行初始化控制器服务应用 $this->service = Hook::exec('app\\saas\\behavior\\InitializtionService', ['tag' => $type, 'request' => $request]); } } ``` ``` 代码解析说明: 该类继承 \think\Controller类,方便使用里面内置的一些方法 属性 $service 服务类初始化的变量 构造函数里面有两个参数 $type : 默认0,当type=1时,标识登录接口继承Saas的时候,需要跳过一些身份校验等 \think\Request $request : 构造注入请求对象 当type=0时: 注册监听身份验证行为 add表示注册, listen表示监听 // 立即执行初始化控制器服务应用 $this->service = Hook::exec('app\\saas\\behavior\\InitializtionService', ['tag' => $type, 'request' => $request]); 先看一下如何初始化控制器服务应用 ```