資源控制器
Laravel 資源路由將典型的 CRUD 路由分配給具有單行程式碼的控制器。例如,你可能希望建立一個控制器來處理應用程式儲存的照片的所有 HTTP 請求。使用 make:controller Artisan 命令,我們可以快速建立這樣的控制器:
php artisan make:controller PhotoController --resource
此命令將在 app/Http/Controllers/PhotoController.php 生成一個控制器。控制器將包含每個可用資源操作的方法。
資源控制器外觀的示例
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class PhotoController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
    }
    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }
    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }
    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }
    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }
    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }
    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}
資源控制器的示例共享下表中方法名稱。
接下來,你可以向控制器註冊資源豐富的路由:
Route::resource('photos', 'PhotoController');
此單一路由宣告建立多個路由來處理資源上的各種操作。生成的控制器已經有針對每個操作的存根方法,包括通知你它們處理的 HTTP 謂詞和 URI 的註釋。
資源控制器處理的操作
| 動詞 | URI | 行動 | 路線名稱 | 
|---|---|---|---|
| 得到 | /photos | 指數 | photos.index | 
| 得到 | /photos/create | 建立 | photos.create | 
| POST | /photos | 商店 | photos.store | 
| 得到 | /photos/{photo} | 節目 | photos.show | 
| 得到 | /photos/{photo}/edit | 編輯 | photos.edit | 
| PUT / PATCH | /photos/{photo} | 更新 | photos.update | 
| 刪除 | /photos/{photo} | 破壞 | photos.destroy |