Rumah > Artikel > pembangunan bahagian belakang > Gunakan rangka kerja PHP Lumen untuk membangunkan perkhidmatan API RESTful yang ringkas dan mudah digunakan
Dengan perkembangan pesat teknologi Internet, semakin banyak aplikasi mula menggunakan API RESTful untuk penghantaran dan interaksi data. RESTful API ialah rangka kerja ringan untuk komunikasi berdasarkan protokol HTTP, yang mempunyai kelebihan pengembangan mudah dan keserasian yang kukuh. PHP ialah bahasa pengaturcaraan sebelah pelayan yang sangat popular, dan terdapat banyak rangka kerja yang sangat baik untuk dipilih. Antaranya, Lumen ialah rangka kerja PHP ringan yang boleh membina perkhidmatan API RESTful dengan cepat.
Artikel ini akan memperkenalkan langkah-langkah untuk menggunakan Lumen untuk membangunkan perkhidmatan API RESTful yang mudah dan mudah digunakan. Aspek-aspek berikut akan diliputi:
composer create-project --prefer-dist laravel/lumen your-project-nameSelepas menunggu pemasangan selesai, masukkan direktori projek dan buat fail yang diperlukan seperti pengawal dan model melalui alat baris arahan artisan:
php artisan make:controller YourControllerName php artisan make:model YourModelNameSekarang, kami telah menyelesaikan pemasangan rangka kerja Lumen, dan Fail yang diperlukan dicipta untuk kerja kami yang seterusnya. 4 Tulis pengawalPengawal ialah kelas PHP yang digunakan untuk memproses permintaan dan membalas respons. Dalam rangka kerja Lumen, pengawal biasanya disimpan dalam folder /app/Http/Controllers. Tulis pengawal untuk mengendalikan operasi CRUD pada data. Di sini kami menganggap bahawa kami mempunyai jadual data pengguna, termasuk id, nama, e-mel dan medan lain:
<?php namespace AppHttpControllers; use AppModelsUser; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class UserController extends Controller { public function index() { return response()->json(User::all()); } public function store(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required|max:255', 'email' => 'required|email|unique:users' ]); if ($validator->fails()) { return response()->json($validator->errors(), 400); } else { $user = User::create([ 'name' => $request->input('name'), 'email' => $request->input('email') ]); return response()->json($user, 201); } } public function update(Request $request, $id) { $validator = Validator::make($request->all(), [ 'name' => 'max:255', 'email' => 'email|unique:users' ]); if ($validator->fails()) { return response()->json($validator->errors(), 400); } else { $user = User::find($id); if ($user) { $user->name = $request->input('name'); $user->email = $request->input('email'); $user->save(); return response()->json($user); } else { return response()->json(['error' => 'User not found'], 404); } } } public function show($id) { $user = User::find($id); if ($user) { return response()->json($user); } else { return response()->json(['error' => 'User not found'], 404); } } public function destroy($id) { $user = User::find($id); if ($user) { $user->delete(); return response()->json(['message' => 'User deleted']); } else { return response()->json(['error' => 'User not found'], 404); } } }Di sini kami menulis kelas pengawal bernama UserController, yang mengandungi 5 kaedah: indeks, simpan, kemas kini, tunjukkan dan musnahkan . Mereka masing-masing sepadan dengan lima operasi biasa API RESTful - mendapatkan sumber, mencipta sumber, mengemas kini sumber, mendapatkan sumber tertentu dan memadamkan sumber. Dalam kod di atas, kami menggunakan responden (respon()) dan model (Pengguna) rangka kerja Lumen, serta pengesah (Validator) yang disediakan oleh rangka kerja Lumen. Selain daripada ini, anda juga boleh memperkenalkan kebergantungan lain dalam pengawal untuk melaksanakan operasi yang lebih kompleks. 5. Model tulis Model biasanya digunakan untuk menyatakan jadual data supaya apabila pengawal dipanggil untuk mengendalikan permintaan data, data boleh dibaca dan diproses dengan betul. Dalam rangka kerja Lumen, fail model biasanya disimpan dalam folder /app/Models. Berikut ialah model ringkas Dalam model ini, kami telah bersetuju bahawa nama jadual data ialah pengguna:
<?php namespace AppModels; use IlluminateDatabaseEloquentModel; class User extends Model { protected $table = 'users'; protected $fillable = ['name', 'email']; }Kelas pengguna dalam kod di atas mewarisi daripada kelas Model rangka kerja Lumen, yang mengandungi beberapa pembolehubah atribut penting. dan kaedah. Di sini, kami menggunakan protected $table = 'users' untuk bersetuju bahawa jadual data yang sepadan dengan model ini dinamakan sebagai pengguna, dan kami juga menggunakan atribut boleh diisi untuk mengehadkan medan yang boleh diberikan kelompok. 6. Laluan tulis Penghalaan menentukan laluan URL permintaan dan kaedah pengawal yang sepadan, yang digunakan untuk mengedarkan permintaan. Dalam rangka kerja Lumen, fail penghalaan biasanya disimpan dalam folder /routes.
<?php $router->get('/', function () use ($router) { return $router->app->version(); }); $router->get('/users', 'UserController@index'); $router->post('/users', 'UserController@store'); $router->get('/users/{id}', 'UserController@show'); $router->put('/users/{id}', 'UserController@update'); $router->delete('/users/{id}', 'UserController@destroy');Dalam kod di atas, kami menentukan laluan URL yang sepadan dan kaedah pemprosesan untuk lima operasi, di mana mendapatkan, menyiarkan, meletakkan dan memadam penghala ($penghala) digunakan untuk menentukan kaedah permintaan HTTP. 7. Menguji APIKini kami telah berjaya menyelesaikan pemasangan rangka kerja Lumen, penulisan kod pengawal, definisi model dan tetapan penghalaan, dan boleh diuji. Masukkan arahan berikut dalam terminal baris arahan untuk memulakan perkhidmatan Web:
php -S 127.0.0.1:8000 -t publicKemudian buka penyemak imbas dan masukkan localhost:8000/users untuk mengakses perkhidmatan API di atas Anda akan melihat senarai pengguna. Sebagai alternatif, anda boleh menggunakan Postman atau alat klien HTTP lain untuk menguji antara muka. RingkasanMenggunakan rangka kerja Lumen, kami boleh membina perkhidmatan API RESTful yang ringkas dan mudah digunakan. Dengan sokongan rangka kerja Lumen, kami boleh menulis fail yang diperlukan dengan cepat seperti pengawal, model dan laluan serta memulakan perkhidmatan web melalui alat baris arahan untuk ujian. Berbanding dengan kaedah pembangunan PHP tradisional, kaedah ini boleh meningkatkan kecekapan pembangunan dan kecekapan operasi program kami.
Atas ialah kandungan terperinci Gunakan rangka kerja PHP Lumen untuk membangunkan perkhidmatan API RESTful yang ringkas dan mudah digunakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!