
# 后端
## ThinkPHP5.1底層
與之前WeiPHP版本不同,從WeiPHP5.0開始,WeiPHP與ThinkPHP之間采用低耦合的開發方式,所有的WeiPHP功能實現都在ThinPHP應用里實現,不修改ThinkPHP核心任何一行代碼,因此開發者可以直接升級更新ThinkPHP核心。
升級方法有兩種,一是直接下載ThinkPHP核心覆蓋代碼到thinkphp目錄下即可,另一種方法是使用composer更新。
cd(切換)到你的應用根目錄下面,然后執行下面的命令進行更新:
`composer update topthink/framework`
## WeiPHP核心層
借助于ThinkPHP的common應用,實現WeiPHP的核心功能
### 控制器核心功能

所有插件業務邏輯都需要繼承上圖中的***Base控制器,比如Api類就繼承ApiBase,后臺頁面的管理功能類就繼承WebBase:
#### ApiBase控制器
它主要封裝類似微信接口的access_token安全驗證機制(access_token和check_access_token),常用數據返回方法(api_success和api_error)和空操作方法(_empty)
在我們核心的商城開發過程中,為了兼容公眾號和小程序開發,我們除了使用mpvue框架外,還有一種更原始的實現方式,這就是我們借助ThinkPHP的空操作機制實現Web和Api共用一套業務處理方法。原理如下:

具體可以直接查看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可以不再使用
### 模型核心功能

建議所有的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安裝
- 商城商品有庫存但顯示已售罄