開發 php 的 restful api 需遵循統一接口設計規范。首先,接口路由應使用名詞復數形式表示資源,如 /users,并根據請求方法區分操作類型,get 獲取列表、get /{id} 獲取指定資源、post 創建、put 更新、delete 刪除。其次,建議采用前端控制器模式,將所有請求指向一個入口文件并分發處理。第三,請求參數方面 get 使用查詢字符串,post/put 使用 json body,響應格式應統一為包含 code、message 和 data 的 json 結構。第四,身份驗證可采用 jwt 或 api key,推薦使用 firebase/php-jwt 庫實現 Token 簽發與驗證。最后,數據庫操作建議封裝成模型或服務層,避免 sql 注入并過濾敏感字段,小規模項目可用 pdo 或 mysqli,框架項目可使用 orm 如 eloquent。
開發一個 RESTful API 的核心在于遵循統一的接口設計規范,讓前后端之間能高效、清晰地交互。PHP 作為后端語言非常適合用來構建這類接口,結構清晰、部署簡單、生態成熟。下面從實際出發,講幾個關鍵點,幫助你快速上手 PHP 實現 RESTful 接口。
接口路由怎么設計?
RESTful 的一大特點是通過 URL 表達資源,而不是操作。所以 URL 應該是名詞復數形式,不帶動詞,比如 /users 而不是 /getUser。
在 PHP 中,你可以用框架(如 laravel、Lumen)來處理路由,也可以自己寫一個簡單的路由解析邏輯。重點是根據請求方法(GET、POST、PUT、DELETE)來區分操作類型:
立即學習“PHP免費學習筆記(深入)”;
- GET /users 獲取用戶列表
- GET /users/123 獲取指定 ID 的用戶
- POST /users 創建新用戶
- PUT /users/123 更新用戶信息
- DELETE /users/123 刪除用戶
建議使用前端控制器模式(Front Controller),把所有請求都指向一個入口文件(如 index.php),再根據路徑和方法分發到對應處理函數。
請求參數與響應格式如何統一?
接口設計中,保持請求和響應的一致性非常重要。一般采用 JSON 格式傳輸數據,避免 xml 等復雜結構。
請求參數方面:
- GET 請求參數可以通過查詢字符串傳入
- POST/PUT 使用 JSON body 提交數據
響應格式建議統一結構:
{ "code": 200, "message": "成功", "data": {} }
其中:
- code 是狀態碼(可自定義,不一定完全照搬 http 狀態碼)
- message 是描述信息,方便調試
- data 是返回的數據體
這樣前端無論拿到什么接口結果,都能統一處理,減少錯誤判斷成本。
如何處理身份驗證?
大多數接口都需要權限控制。常見的做法是使用 Token 驗證,例如 JWT(JSON Web Token)。
流程大概是這樣的:
- 用戶登錄后,服務器生成一個 token 并返回
- 后續請求在 Header 中帶上這個 token
- 每次請求前先驗證 token 是否有效
PHP 可以使用 firebase/php-jwt 這類庫來實現簽發和驗證。注意 token 有效期和刷新機制也要考慮進去。
如果只是內部系統或者測試環境,可以先用簡單的 API Key 來做基礎驗證,后續再升級為更安全的方式。
數據庫操作怎么做才不亂?
數據庫訪問建議封裝成模型或服務層,不要直接在接口處理函數里寫 SQL。
舉個例子,可以創建一個 UserModel 類,里面包含 getById, create, update, delete 等方法。這樣代碼結構更清晰,也方便維護和復用。
另外,注意幾點:
- 使用預處理語句防止 SQL 注入
- 返回數據時過濾敏感字段(如密碼)
- 對外暴露的數據盡量只讀,修改走專用接口
如果項目規模不大,可以用 PDO 或 mysqli;如果用框架,一般自帶 ORM 工具,比如 Eloquent。
基本上就這些。RESTful 接口開發并不復雜,但要做得規范、易用、安全,需要在細節上下功夫。