Laravelを勉強中の非エンジニア
学習したことのメモとしての投稿です。
環境
Lraravel8
CRUD実装に必要なルーティング
通常のルーティング
/routes/web.php
Route::get('index', [BlogController::class, 'index']);
Route::get('create', [BlogController::class, 'create']);
Route::post('store', [BlogController::class, 'store']);
Route::get('show/{id}', [BlogController::class, 'show']);
Route::get('/show/{id}/edit', [BlogController::class, 'edit']);
Route::put('/show/{id}/update', [BlogController::class, 'update']);
Route::delete('/show/{id}/delete', [BogController::class, 'delete']);
リソースルート
↑上記のCRUDルーティングが一括で設定できるルーティング方法(リソースルート)があるとのこと
下記コマンドで対応するコントローラーとメソッドを自動生成してくれる
$ php artisan make:controller PhotoController --resource
ルーティング方法
routes/web.php
Route::resource('blogs', BlogController::class);
部分的なリソースルート
①リソースルートで特定のルーティングのみ使いたい場合
例)indexとshowのみ使いたい
routes/web.php
Route::resource('blogs', BlogController::class)->only([
'index', 'show']);
②リソースルートで特定のルーティングを除きたい場合
例)destroyは使わない
routes/web.php
Route::resource('blogs', BlogController::class)->except([
'destroy']);
まとめ
リソースルートを使用するとCRUD実装が一括でできるのでとても便利!
でも勉強のためにしばらくは通常ルートを書いていきます。