Laravelでインターフェースを書く方法

PHPz
リリース: 2023-04-14 17:07:35
オリジナル
925 人が閲覧しました

Laravel は、Web アプリケーションや API を迅速に構築するのに役立つ豊富な機能とツールを提供する優れた PHP フレームワークです。この記事では、Laravel を使用して API インターフェイスを作成する方法を学びます。

Laravel API 認証

API を構築する場合、セキュリティは非常に重要です。承認されたユーザーのみが API にアクセスできるようにする必要があります。 Laravel は、トークンベースの認証、OAuth 認証など、さまざまな API 認証方法を提供します。認可ミドルウェアを構成することで、これらの機能を簡単に使用できます。

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});
ログイン後にコピー

ここでは、Laravel 独自の auth:ap ミドルウェアを使用して API を保護します。有効なトークンで認証されたユーザーのみが API にアクセスできます。

Laravel 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 API コントローラー

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 オペレーションを実装しました。これらの操作は、すべてのタスクの表示、新しいタスクの作成、タスクの更新など、さまざまなタイプのリクエストを処理します。

Laravel 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート