它一套有thinkphp開發(fā)集成性后臺接口,內置權限管理,api響應,psysh等多功能工具
推薦一個thinkphp 權限管理包: https://github.com/surest-sky/thinkphp-permission 他的作用 自帶登錄校驗 快速完成數據格式校驗 自帶權限管理機制 支持權限管理自動生成節(jié)點 自帶響應格式處理 支持后端的菜單控制
利用它 快速搭建基礎的 前后端分離場景下的后臺 在線地址: http://v-web./ 賬號: admin 密碼: admin123 vue 地址 : https://github.com/surest-sky/thinkphp-vue-admin 安裝git clone https://github.com/surest-sky/think-vue-admin-api.git
cd think-vue-admin-api
composer install
導入 目錄下的 `permission.sql`
初始化權限節(jié)點php think init_permission --action reset
有關應用psyshpsysh 是什么: http:///archives/psysh > php think psysh
\app\common\Example::psysh();
輸出: 2
-> php think psysh
\app\common\Example::init_permission();
輸出: 更新節(jié)點完成
自定義驗證器 | validate具體使用方法不詳說, 大概如下 定義一個驗證器, 繼承 app\common\validate\BaseValidate 驗證數據 $validate = (new CircleValidate())->goCheck();
$data = $validate->validatedData(); # 獲取驗證通過的數據
然后常用的正則和一些方法都可以寫到 BaseValidate 中即可 例如常用驗證 ids 格式如 1,2,3,4 的數據可以這樣獲取 # 校驗ids
$validate = (new IdsValidate())->goCheck();
$ids = $validate->getIds();
響應方式$this->successed(); {
"msg": "success",
"code": 200,
"data": {}
}
$this->internalError(); {
"msg": "服務器錯誤",
"code": 500,
"data": {}
}
$this->notFond(); {
"msg": "未找到",
"code": 404,
"data": {}
}
$this->frobidden(); {
"msg": "未授權",
"code": 401,
"data": {}
}
$this->failed(); {
"msg": "授權失敗",
"code": 403,
"data": {}
}
在 BaseController 中 use ApiResponse;
繼承 BaseController 使用響應的時候, 直接
$this->successed($list);
具體的可見方法: app\common\Traits\ApiResponse 異常處理控制在 app.php 中, 我們接管了異常, 響應格式替換為我們的 ApiResponse 具體見方法, app\common\exception\Handler 異常處理控制后, 可定制化異常處理 見: http:///archives/85/ 簡單說明一下: 在handler.php 通過傳遞當前拋出異常的 exception 和我們需要針對化處理的異常進行校驗, 采用的也就是 instanceof 去判斷來自于哪個異常 這樣做的好處就是, 針對不用的異常進行監(jiān)控, 并拋出指定的異常錯誤信息 或者 日志 自定義的異常處理 必須 繼承 CustomExceptionInterface 接口, 通過 showMsg 來處理拋出異常 代碼中, 我們會發(fā)現一個問題, 在 handler.php 中 異常信息是返回的, 官方文檔中有介紹, **使用異常處理接管的函數必須返回一個 response 響應, 所以可以看到 在 BaseException 中 設置了 is_anomaly_andling_takeover 就是告訴 ApiResponse 需要返回一個response 響應
|