Laravel は、Web アプリケーションや API を迅速に構築するのに役立つ豊富な機能とツールを提供する優れた PHP フレームワークです。この記事では、Laravel を使用して API インターフェイスを作成する方法を学びます。
API を構築する場合、セキュリティは非常に重要です。承認されたユーザーのみが API にアクセスできるようにする必要があります。 Laravel は、トークンベースの認証、OAuth 認証など、さまざまな API 認証方法を提供します。認可ミドルウェアを構成することで、これらの機能を簡単に使用できます。
Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); });
ここでは、Laravel 独自の auth:ap ミドルウェアを使用して API を保護します。有効なトークンで認証されたユーザーのみが API にアクセスできます。
ルーティングは、API を構築する際のもう 1 つの重要な側面です。 Laravel は、API ルートの定義と管理を容易にする使いやすいルーターを提供します。
Route::get('/tasks', 'TaskController@index'); Route::post('/tasks', 'TaskController@store'); Route::get('/tasks/{id}', 'TaskController@show'); Route::put('/tasks/{id}', 'TaskController@update'); Route::delete('/tasks/{id}', 'TaskController@destroy');
上の例では、すべてのタスクの表示、新しいタスクの作成、単一タスクの表示、タスクの更新、およびタスクの削除のための 5 つの API ルートを定義しました。これらのルートは、実際の API 操作を実行する TaskController と呼ばれるコントローラー クラスを指します。
Laravel では、コントローラー クラスは、特定のルートのリクエストを処理し、関連するビジネス ロジックを実行し、応答を返すために使用されます。コントローラーは、Laravel の検証、データ ストレージ、クエリ ビルダー、その他の機能も使用できます。
class TaskController extends Controller { public function index() { $tasks = Task::all(); return response()->json($tasks); } public function store(Request $request) { $task = new Task(); $task->title = $request->input('title'); $task->description = $request->input('description'); $task->save(); return response()->json($task); } public function show($id) { $task = Task::find($id); return response()->json($task); } public function update(Request $request, $id) { $task = Task::find($id); $task->title = $request->input('title'); $task->description = $request->input('description'); $task->save(); return response()->json($task); } public function destroy($id) { $task = Task::find($id); $task->delete(); return response()->json(['message' => 'Task deleted']); } }
上の例では、TaskController という名前のコントローラー クラスを定義し、5 つの API オペレーションを実装しました。これらの操作は、すべてのタスクの表示、新しいタスクの作成、タスクの更新など、さまざまなタイプのリクエストを処理します。
データ ストレージは、API を構築する際のもう 1 つの重要な側面です。 Laravel は、データベースに簡単にアクセスして管理するための多くのデータベース ドライバーと ORM (オブジェクト リレーショナル マッピング) ツールを提供します。
class Task extends Model { protected $fillable = ['title', 'description']; }
上の例では、Task という名前のモデルを定義しました。これは、Tasks データ テーブルに対応します。また、fillable 属性を使用して、どのモデル プロパティをバッチ割り当てできるかを定義します。
Laravel API は、Web アプリケーションと API を構築するための高速、安全、スケーラブルな方法です。 Laravel のルーティング、コントローラー、データ ストレージ、その他のツールを使用すると、強力な API を簡単に構築できます。
以上がLaravelでインターフェースを書く方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。