Artisan ile controller oluşturduğunuzda, aksini belirtmediyseniz, size index, create, store, show, edit, update, destroy yöntemlerine sahip bir RESTful controller oluşturur. Bu yöntemlere tek tek rota tanımlamak yerine tek seferde Route::resource ile rota tanımlayabiliyoruz. route:list yaparak bunları görebiliyoruz:
+--------+----------+--------------------+---------------+----------------------------------------------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+--------------------+---------------+----------------------------------------------+------------+
| | GET|HEAD | photo | photo.index | App\Http\Controllers\PhotoController@index | |
| | GET|HEAD | photo/create | photo.create | App\Http\Controllers\PhotoController@create | |
| | POST | photo | photo.store | App\Http\Controllers\PhotoController@store | |
| | GET|HEAD | photo/{photo} | photo.show | App\Http\Controllers\PhotoController@show | |
| | GET|HEAD | photo/{photo}/edit | photo.edit | App\Http\Controllers\PhotoController@edit | |
| | PUT | photo/{photo} | photo.update | App\Http\Controllers\PhotoController@update | |
| | PATCH | photo/{photo} | | App\Http\Controllers\PhotoController@update | |
| | DELETE | photo/{photo} | photo.destroy | App\Http\Controllers\PhotoController@destroy | |
+--------+----------+--------------------+---------------+----------------------------------------------+------------+
Diyelim ki biz sadece index ve show için rota tanımlanmasını istiyorsak only (sadece) kullanıyoruz:
Route::resource('photo', 'PhotoController', ['only' => ['index', 'show']]);
index ve show hariç tüm yöntemler için rota tanımlanmasını istiyorsak da except (hariç) kullanıyoruz
// Route::resource('photo', 'PhotoController', ['only' => ['create', 'store','edit,'update','destroy']]); yerine kısaca
Route::resource('photo', 'PhotoController', ['except' => ['index','show']]);