```
<?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]);
先看一下如何初始化控制器服务应用
```
- 产品介绍
- 功能介绍
- 联系合作
- 修订记录
- 环境安装
- 依赖环境
- 依赖服务
- 前端环境
- 核心功能
- 流程引擎
- 流程编辑步骤
- 流程设计
- 业务表设计
- 表单设计
- 报表设计
- 节点配置
- 全局配置
- 规则引擎
- 模块功能
- 系统管理
- 平台架构
- 平台(单位)管理
- 组织架构
- 用户管理
- 角色管理
- 运维管理
- 菜单管理
- 流程管理
- 代码管理
- 字典管理
- 车型库管理
- 报表管理
- 产品管理
- 经销商管理
- 数据字典
- 业务设置
- 业务报表设置
- 系统配置
- 微信小程序设置
- OCR识别
- 钉钉通知
- 钉钉登录授权
- 云储存设置
- 服务规划
- 其他产品
- 教育点播
- 退役政务
- 三方报表
- 微信社群
- 场景名片
- 合同电子签
- TP5实用封装
- 通用封装
- Export通用封装
- Import通用封装
- 配合Import通用封装的ImportBaseVerify类
- Files通用封装
- Directory通用封装
- Pdf通用封装
- Words通用封装
- Nredis(redis封装)
- ZipArchives压缩zip文件封装
- BarQrcode条形码二维码
- Publics公共方法封装
- Curls(cUrl请求封装)
- extend扩展开发
- 何时编写扩展文件包
- 扩展文件包如何编写
- 题外话
- 常用的compose安装
- 一些建议及细节
- 实用工具
- 源码分析
- 入口文件index.php
- think\Facade类详解
- App对接Api设计
- 设计模式说明(为什么这么做)
- 代码设计逻辑方案
- 数据库备份
- 实用案例
- 如何“偷”JAVA代码
- SAAS接口设计
- 1、创建saas基类文件
- 2、初始化控制器服务
- 3、身份校验
- 4、创建登录控制器
- 5、实现登录服务层
- 6、服务层继承的service类
- 7、该案例的完整模块包
- 校验型规则校验扩展包
- 自定义规则解析(可供参考)
- 通用文件扩展包(File,Zip)
- PHP实现word转PDF功能环境搭建
- 日志通用扩展包
- 定时任务
- PHP视频处理器安装环境搭建
- 日常开发问题记录
- 1、mysql存储中带一些不可见字符
- 2、php开发规范校验及修复