LoginSignup
2
2

【Laravel】リソースコントローラーについて

Posted at

はじめに

アプリケーションを作成していく中で必要な考え方として

CRUD「クラッド」という考え方があります。以下の頭文字を取ってCRUDと呼ばれています。

C create 新規作成
R read 表示
U update 更新
D delete 削除

リソースコントローラーは、CRUDを細かく以下のように7つに分けてURIやルート名などを自動で生成してくれるという機能になります。

動詞 URI メソッド名 ルート名 名称
GET /photos index photos.index 一覧の表示
GET /photos/create create photos.create 新規作成
POST /photos store photos.store 保存
GET /photos/{photo} show photos.show 表示
GET /photos/{photo}/edit edit photos.edit 編集
PUT/PATCH /photos/{photo} update photos.update 更新
DELETE /photos/{photo} destroy photos.destroy 削除

Laravelリソースルーティングは、通常の作成、読み取り、更新、削除(”CRUD”)ルートを1行のコードでコントローラに割り当てることができます。

コントローラを作成する方法

php artisan make:controller PhotoController --resource

コントローラーを作成する時にオプションとして--resourceというオプションを入力すると、自動的に必要なメソッドを作成してくれます。自動的に作成されるメソッドの表は先ほども表記しましたが以下になります。

リソースコントローラーの表

動詞 URI メソッド名 ルート名 名称
GET /photos index photos.index 一覧の表示
GET /photos/create create photos.create 新規作成
POST /photos store photos.store 保存
GET /photos/{photo} show photos.show 表示
GET /photos/{photo}/edit edit photos.edit 編集
PUT/PATCH /photos/{photo} update photos.update 更新
DELETE /photos/{photo} destroy photos.destroy 削除

ルートは一行で記述できる

リソースコントローラーを作成した後にルート側も設定する必要があり、先ほどもお伝えしましたがルートを以下のように1行で書くことができます。

use App\Http\Controllers\PhotoController;

Route::resource('photos', PhotoController::class);

以上

Laravelではリソースコントローラと表記されていています。

一般的にはRestfulと呼ばれています。

リソースコントローラーを使いこなせればアプリケーションを簡単に素早く的確に作成できるので興味がある方は使ってみてください。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2