![](https://box.kancloud.cn/6b6ba77a2bb4ccfd85b6ae81f24b113f_995x686.png)
# 后端
## ThinkPHP5.1底层
与之前WeiPHP版本不同,从WeiPHP5.0开始,WeiPHP与ThinkPHP之间采用低耦合的开发方式,所有的WeiPHP功能实现都在ThinPHP应用里实现,不修改ThinkPHP核心任何一行代码,因此开发者可以直接升级更新ThinkPHP核心。
升级方法有两种,一是直接下载ThinkPHP核心覆盖代码到thinkphp目录下即可,另一种方法是使用composer更新。
cd(切换)到你的应用根目录下面,然后执行下面的命令进行更新:
`composer update topthink/framework`
## WeiPHP核心层
借助于ThinkPHP的common应用,实现WeiPHP的核心功能
### 控制器核心功能
![](https://box.kancloud.cn/55d99509880e476adbdaaa989bf5e045_821x462.png)
所有插件业务逻辑都需要继承上图中的***Base控制器,比如Api类就继承ApiBase,后台页面的管理功能类就继承WebBase:
#### ApiBase控制器
它主要封装类似微信接口的access_token安全验证机制(access_token和check_access_token),常用数据返回方法(api_success和api_error)和空操作方法(_empty)
在我们核心的商城开发过程中,为了兼容公众号和小程序开发,我们除了使用mpvue框架外,还有一种更原始的实现方式,这就是我们借助ThinkPHP的空操作机制实现Web和Api共用一套业务处理方法。原理如下:
![](https://box.kancloud.cn/b2c98de11346f184176b489eb6f3419d_504x367.png)
具体可以直接查看WapBase和ApiBase这两个文件里的_empty方法
#### WebBase控制器
后端PC管理业务需要继承它,它主要实现以下几个功能:
1、管理员登录状态审核,未登录跳转到登录界面
2、当前登录管理员信息初始化,方便程序直接调用
3、界面菜单数据获取
4、实现通用的列表界面功能
5、实现通用的编辑界面功能
6、实现通用的新增界面功能
7、实现通用的删除界面功能
8、实现通用的配置界面功能
9、实现通用的导出数据功能
上面所谓的通用是指在WeiPHP中,我们在数据模型定义完成一个数据表后,在管理员界面就可以自动实现这个数据表常用的列表,增加编辑等功能,不再需要开发者做重复的工作,这也是WeiPHP最大魅力之一。
#### WapBase控制器
专为微信公众号页面提供的父类,它主要实现以下几个功能:
1、微信公众号信息初始化
2、公众号页面需要的JS-SDK参数获取
3、当前公众号粉丝实现自动获取,自动登录
4、当前粉丝信息初始化,方便后面程序直接调用
后续采用mpvue开发后,公众号界面直接使用API获取数据,WapBase可以不再使用
### 模型核心功能
![](https://box.kancloud.cn/872b4e0d753a15cceba962a4b30af343_557x265.png)
建议所有的WeiPHP模型类都继承WeiPHP的Base模型类,例子:
```
namespace app\common\model;
use app\common\model\Base;
/**
* 用户模型
*/
class User extends Base
{
}
```
当然如果你不想使用,也可以直接继承ThinkPHP的Model模型类就行。
- 序言
- 安装
- composer安装
- git安装
- 下载源码安装
- 初始化数据库
- 增加定时任务
- 问题反馈
- 快速入门
- 系统框架图
- 系统功能清单
- 目录结构
- 数据库字典
- 插件开发
- 插件介绍
- 插件管理
- 创建插件
- 插件库
- 免费插件安装
- 付费插件安装
- 插件部署安装
- 数据模型
- 模型介绍
- 创建模型
- 模型管理
- 菜单配置
- 菜单介绍
- 增加菜单
- 公众号开发
- 公众号配置
- 快递接口配置
- 小程序开发
- 案例说明
- 小程序配置
- 自动获取用户信息
- 短信验证码
- 上传图片
- 生成小程序事件二维码
- 小程序支付
- 微信平台支付配置
- 小程序微信支付配置
- 小程序调用支付功能
- 异步接收支付结果
- 模板消息
- 消息模板配置
- 支付后发模板消息
- 提交表单后发模板消息
- 客服
- mpvue开发
- 项目打包
- 插件安装编译
- 部署
- Liunx服务器部署
- Window集成包部署
- 常见问题
- 上传图片失败
- PATHINFO配置
- 该公众号提供的服务出现故障
- 调试工具postman安装
- 商城商品有库存但显示已售罄