Rumah >pembangunan bahagian belakang >tutorial php >Panduan untuk membina API RESTful dengan rangka kerja PHP
Garis panduan untuk membina API RESTful menggunakan rangka kerja PHP Memilih rangka kerja: Gunakan rangka kerja seperti Laravel, seperti Laravel. Pasang Laravel: Pasang Laravel menggunakan pemasang Laravel. Tentukan laluan: Petakan URL kepada tindakan pengawal dalam route/api.php. Cipta pengawal: Cipta pengawal dalam apl/Http/Pengawal untuk mengendalikan permintaan dan membalas respons. Mengendalikan permintaan dan respons: Gunakan kaedah pembantu seperti response()->json() untuk memudahkan respons dan gunakan kaedah pengawal untuk mengendalikan permintaan. Kes praktikal: API Pengguna: Cipta model, pengawal dan pelancaran API untuk melaksanakan fungsi pengurusan pengguna.
Pengenalan
RESTful API (Representational State Transfer) ialah gaya reka bentuk popular untuk membina API yang mudah digunakan, cekap dan berskala. Artikel ini akan membimbing anda membina API RESTful menggunakan rangka kerja PHP.
Pilih Rangka Kerja
Terdapat banyak rangka kerja PHP tersedia untuk membina API RESTful, termasuk Laravel, Symfony dan Lumen. Artikel ini akan menggunakan Laravel sebagai contoh.
Pasang Laravel
composer global require laravel/installer laravel new my-api
Tentukan Laluan
Laluan ialah peraturan yang memetakan URL kepada pengawal dan kaedah. Dalam Laravel, anda mentakrifkan laluan API dalam fail routes/api.php
. 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
rrreeeapp/Http/Controllers
. 🎜rrreee🎜🎜Mengendalikan permintaan dan respons🎜🎜🎜Kaedah pengawal mengendalikan permintaan dan membalas respons. Laravel menyediakan pelbagai kaedah pembantu untuk memudahkan proses ini, seperti response()->json()
untuk mengembalikan respons JSON. 🎜🎜🎜Kes Praktikal: API Pengguna🎜🎜🎜Mari kita cipta API pengguna ringkas sebagai kes praktikal. 🎜🎜🎜Buat model🎜🎜rrreee🎜🎜Buat pengawal🎜🎜rrreee🎜🎜Mulakan API🎜🎜rrreee🎜Kini anda boleh menguji API menggunakan alatan seperti cURL atau Gcurl -X POST -d '{"name": "John", "email": "john @ example.com"}' http://localhost:8000/api/users
🎜curl http://localhost:8000/api/users/1
🎜🎜Atas ialah kandungan terperinci Panduan untuk membina API RESTful dengan rangka kerja PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!