Rumah >pembangunan bahagian belakang >tutorial php >Pengesahan Kaedah HTTP di Laravel
dan method()
dengan cekap mengenal pasti dan mengesahkan jenis permintaan. isMethod()
// Basic method verification $method = $request->method(); // Returns 'GET', 'POST', etc. if ($request->isMethod('post')) { // Process POST request }inilah contoh pengendali sumber serba boleh:
<?php namespace App\Http\Controllers; use App\Models\Resource; use Illuminate\Http\Request; class ResourceController extends Controller { public function handle(Request $request, $id = null) { return match ($request->method()) { 'GET' => $this->getHandler($id), 'POST' => $this->createHandler($request), 'PUT' => $this->updateHandler($request, $id), 'DELETE' => $this->deleteHandler($id), default => response()->json(['error' => 'Unsupported method'], 405) }; } private function getHandler($id = null) { if ($id) { return Resource::with('metadata')->findOrFail($id); } return Resource::with('metadata')->latest()->paginate(20); } private function createHandler(Request $request) { $resource = Resource::create($request->validated()); return response()->json(['message' => 'Resource created', 'resource' => $resource->load('metadata')], 201); } private function updateHandler(Request $request, $id) { $resource = Resource::findOrFail($id); $resource->update($request->validated()); return response()->json(['message' => 'Resource updated', 'resource' => $resource->fresh()->load('metadata')]); } private function deleteHandler($id) { Resource::findOrFail($id)->delete(); return response()->json(null, 204); } }Interaksi Illustrative:
<code>// GET /api/resources/1 { "id": 1, "name": "Example Resource", "status": "active", "metadata": { "created_by": "john@example.com", "last_accessed": "2024-02-01T10:30:00Z" } } // PUT /api/resources/1 with invalid method { "error": "Unsupported method" }</code>kaedah
dan method()
menawarkan pendekatan berstruktur untuk melaksanakan logik khusus kaedah sambil mengekalkan organisasi kod bersih. isMethod()
Atas ialah kandungan terperinci Pengesahan Kaedah HTTP di Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!