使用 PHP 框架建立 RESTful API 的指南選擇框架: 使用 Laravel 等框架,例如 Laravel。安裝 Laravel: 使用 Laravel 安裝程式安裝 Laravel。定義路由: 在 routes/api.php 中對應 URL 到控制器操作。建立控制器: 在 app/Http/Controllers 中建立控制器來處理請求和回傳回應。處理請求和回應: 使用輔助方法(如 response()->json())簡化回應,並使用控制器方法處理請求。實戰案例:使用者 API: 建立模型、控制器和啟動 API 以實現使用者管理功能。
簡介
RESTful API(Representational State Transfer)是一種流行的設計風格,用於建立易於使用、高效和可擴展的API。本文將指導您使用 PHP 框架來建立 RESTful API。
選擇框架
有許多 PHP 框架可用於建立 RESTful API,包括 Laravel、Symfony 和 Lumen。本文將使用 Laravel 作為範例。
安裝 Laravel
composer global require laravel/installer laravel new my-api
定義路由
路由是將 URL 對應到控制器和方法的規則。在 Laravel 中,您可以在 routes/api.php
檔案中定義 API 路由。
Route::get('/users', 'UserController@index'); Route::post('/users', 'UserController@store'); Route::get('/users/{user}', 'UserController@show');
建立控制器
控制器處理 API 請求並回傳回應。在 Laravel 中,控制器位於 app/Http/Controllers
目錄中。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\User; class UserController extends Controller { public function index() { return User::all(); } public function store(Request $request) { $user = User::create($request->all()); return response()->json($user, 201); } public function show(User $user) { return $user; } }
處理請求和回應
控制器方法處理請求並回傳回應。 Laravel 提供了各種輔助方法來簡化此過程,例如 response()->json()
用於傳回 JSON 回應。
實戰案例:使用者 API
讓我們建立一個簡單的使用者 API 作為實戰案例。
建立模型
<?php namespace App; use Illuminate\Database\Eloquent\Model; class User extends Model { protected $fillable = ['name', 'email']; }
建立控制器
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\User; class UserController extends Controller { public function index() { return User::all(); } public function store(Request $request) { $user = User::create($request->all()); return response()->json($user, 201); } public function show(User $user) { return $user; } }
啟動API
php artisan serve
現在,您可以使用cURL 或Postman 等工具測試API:
curl http://localhost:8000/api/users
curl -X POST -d '{"name": "John", "email": "john@example.com"}' http://localhost:8000/api/users
curl http://localhost:8000/api/users/1
以上是用 PHP 框架建立 RESTful API 的指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!