ThinkPHP5 API 多版本控制開發

ThinkPHP5 API 多版本控制開發

開發準備php

對於接口開發,建議採用單獨的項目部署,與後臺項目分離開來,緣由以下:thinkphp

1. 接口多用於查詢數據,對於數據提交的較少api

2. 接口的權限多采用token模式,後臺多采用RBAC控制訪問安全

3. 對於須要高度安全的接口,須要進行加密處理。thinkphp5

首先創建新的項目,配置二級域名 api.xjwblog.com 。對於 APP 客戶端開發,每每須要多版本的兼容,所以在服務端須要對接口進行兼容處理。post

利用 ThinkPHP5 的多級控制器實現版本的控制測試

ThinkPHP5 多級控制器說明加密

如下咱們以首頁 banner 圖爲例:url

在 route.php 中加入如下代碼:spa

1
Route::get( '/:version/banner' 'api/:version.Home/banner' );

創建 api 模塊,建立 controller 控制器層和 interfaces 接口約束層(對要實現的基本接口進行約束)以及 Home 文件, 結構以下:

interfaces/Home.php 中代碼以下:

controller/Base.php 中代碼以下:

controller/Home.php 中代碼以下:

controller/v1/Home.php 中代碼以下:

controller/v2/Home.php 中代碼以下:

說明:

controller/Base.php 中存放一些公用的方法以及必要的驗證

controller/Home.php 中存放一些公用的方法以及無需進行版本驗證的接口

controller/v1/Home.php 中存放 v1 版本單獨所需的接口以及覆蓋父類 Home.php 中的接口進行個性化配置

controller/v2/Home.php 中存放 v2 版本單獨所需的接口以及覆蓋父類 Home.php 中的接口進行個性化配置

接下來利用 postman 進行測試:

ThinkPHP5 API 多版本控制开发

ThinkPHP5 API 多版本控制开发

相關文章
相關標籤/搜索