《細說PHP》第四版 樣章 第23章 自定義PHP接口規範 7

  • 2019 年 10 月 5 日
  • 筆記

版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/ITXDL123/article/details/100572188

23.5 創建RESTful規範 WebAPI框架

雖然我們現在可以自己實現API了,也了解了RESTful API的設計原則,但讓自己實現的API符合RESTful API規範,對很多剛接觸API的讀者還是有一定難度的。本節按前文介紹的API實現過程,以及RESTful API的規範,創建一個輕量級的WebAPI框架。本節的示例的重點在程序結構的設計,並沒有實現全部的細節,目的是讓讀者能了解RESTful API的實現過程,如果程序在商業項目中應用,可以使用目前的一些開源WebAPI框架,如DingGO等的應用非常方便,功能也非常齊全。

23.5.1 程序結構設計

程序的結構設計一定要按用戶的使用需求實現,以23.4節中RESTful規範作為實際的開發需求,在RESTful中最核心的規範就是,用戶通過不同的請求方法,如get、post、put和delete等,請求同一個API的URL資源,可以定位到不同的服務器方法中處理資源。這就需要我們在設計API時,一定要有統一的訪問入口作為中央調度器,把所有的URL請求都導入這個文件。再根據用戶不同的請求方法判斷,通過自定義路由規則的設置,使用路由調用對應控制器中的方法來處理業務。自定義API框架應用結構如圖23-11所示。

圖23-11 自定義API框架應用結構

如圖23-11所示,將程序分為展現層、服務層和數據訪問這3層結構。當然,也可以將程序結構分為前端應用和後端服務兩層,或者將每層結構再向下細分多層。分層架構設計是構建大型分佈式系統的必要手段,因為可以使系統健壯和可擴展。每層的作用說明如下。

Ø 展現層

我們可以在桌面、Web、平板、手機或物聯設備中,通過App、Web應用程序(PHP、Java、Python等)、瀏覽器等遠程訪問統一的API接口,獲取核心業務數據並展現給用戶。

Ø 服務層

服務層也就是我們的WebAPI, 作為業務邏輯處理服務的核心,能夠滿足接口訪問和接口之間交互的需求。

Ø 數據訪問層

數據訪問層提供了統一的數據操作模型,用於實現通用的數據訪問操作。被模型返回的數據是中立的,也就是說,模型可以與數據格式無關。由於應用於模型的代碼只需寫一次就可以被多次重複使用,所以減少了代碼的重複性。