Laravelのリソースコントローラのルーティング
参考:公式リファレンス
$ php artisan make:controller PhotoController --resource
web.php
Route::resource('photos', 'PhotoController');
このルーティング Route::resource()
をバラして書くと以下のようになる。
web.php
Route::get('/photos', 'PhotoController@index')->name('photos.index');
Route::get('/photos/create', 'PhotoController@create')->name('photos.create');
Route::post('/photos', 'PhotoController@store')->name('photos.store');
Route::get('/photos/{photo}', 'PhotoController@show')->name('photos.show');
Route::get('/photos/{photo}/edit', 'PhotoController@edit')->name('photos.edit');
Route::put('/photos/{photo}', 'PhotoController@update')->name('photos.update');
Route::delete('/photos/{photo}', 'PhotoController@destroy')->name('photos.destroy');
確認
$ php artisan route:list
出力結果
+--------+-----------+---------------------+----------------+----------------------------------------------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+-----------+---------------------+----------------+----------------------------------------------+------------+
| | GET|HEAD | api/user | | Closure | api |
| | | | | | auth:api |
| | GET|HEAD | photos | photos.index | App\Http\Controllers\PhotoController@index | web |
| | POST | photos | photos.store | App\Http\Controllers\PhotoController@store | web |
| | GET|HEAD | photos/create | photos.create | App\Http\Controllers\PhotoController@create | web |
| | GET|HEAD | photos/{photo} | photos.show | App\Http\Controllers\PhotoController@show | web |
| | PUT|PATCH | photos/{photo} | photos.update | App\Http\Controllers\PhotoController@update | web |
| | DELETE | photos/{photo} | photos.destroy | App\Http\Controllers\PhotoController@destroy | web |
| | GET|HEAD | photos/{photo}/edit | photos.edit | App\Http\Controllers\PhotoController@edit | web |
+--------+-----------+---------------------+----------------+----------------------------------------------+------------+