## 說明
laravel遵從RESTful 架構的設計原則,將數據看做一個資源,由URI來指定資源.對資源進行的獲取,創建,修改和刪除操作,分別對應HTTP協議提供的GET,POST,PUT,PATCH,和DELETE方法 . 當我們要查看一個ID為1的用戶時,需要向/users/1地址發送一個GET請求,當laravel的路由接收到該請求時,默認會把該請求傳給控制器的相關方法進行處理.
## resource方法
laravel為我們提供了resource方法來定義用戶的資源路由. 該方法遵從RESTful 架構為用戶資源生成路由.該方法接收兩個參數,第一個參數為資源名稱,第二個參數為控制器名稱.
~~~
Route::resource('users', 'UsersController');
~~~
上面的代碼等同于
~~~
Route::get('/users', 'UsersController@index')->name('users.index');
Route::get('/users/{user}', 'UsersController@show')->name('users.show');
Route::get('/users/create', 'UsersController@create')->name('users.create');
Route::post('/users', 'UsersController@store')->name('users.store');
Route::get('/users/{user}/edit', 'UsersController@edit')->name('users.edit');
Route::patch('/users/{user}', 'UsersController@update')->name('users.update');
Route::delete('/users/{user}', 'UsersController@destroy')->name('users.destroy');
~~~
## RESTful 風格控制器
可以通過命令創建符合RESTful 風格的控制器
~~~
php artisan make:controller 控制器名稱 --resource
~~~