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]); 先看一下如何初始化控制器服务应用 ```
经验分享 程序员 微信小程序 职场和发展