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