我最近在 StackOverflow 上發現了很多詢問什麼是 Laravel Resource 控制器的問題。 本文解釋了這個基本概念,繼續往下看。 Laravel 資源型控制器 資源控制器就是 Laravel 控制器的一種,具有創建、讀取、更新和刪除資源(或模型)的所有方法。 您可以使用此 art ...
我最近在 StackOverflow 上發現了很多詢問什麼是 Laravel Resource 控制器的問題。 本文解釋了這個基本概念,繼續往下看。
Laravel 資源型控制器
資源控制器就是 Laravel 控制器的一種,具有創建、讀取、更新和刪除資源(或模型)的所有方法。 您可以使用此 artisan
命令創建資源控制器:
php artisan make:controller PhotoController --resource
該命令將在您的控制器目錄中創建一個 PhotoController.php 文件,並將自動創建 7 種方法 index ,show,create,store,edit,update,destroy。 所有這些方法都是空的,您必須為每個操作添加邏輯。 預設情況下,當您執行命令時,Laravel 將使用控制器中的模型名稱,例如。 Photo 模型將命名為 PhotoController,如果您想使用其他模型,則可以使用:
php artisan make:controller PhotoController --resource --model=Photo
現在,新控制器將使用在 --model
標識中設置的內容。
您也可以使用 --api
標識而不是 --resource
標識為 API 路由創建控制器。 這將創建除 create
方法和 edit
方法之外的所有方法,因為 api 調用不需要它們。
Laravel 資源型路由
Laravel 還提供了一種簡單的方法來創建資源路由:
Route::resource('photos', 'PhotoController'); // GET /photos PhotoController@index // GET /photos/create PhotoController@create // POST /photos PhotoController@store // GET /photos/{id} PhotoController@show // GET /photos/{id}/edit PhotoController@edit // PUT /photos/{id} PhotoController@update // DELETE /photos/{id} PhotoController@destory
此方法將創建從瀏覽器訪問每個操作所需的所有 7 條路由。 您也可以自定義所需的某些路由,也可以保留不需要的路由。
Route::resource('photos', 'PhotoController')->only(['index', 'show']); Route::resource('photos', 'PhotoController')->except(['create', 'store', 'update', 'destroy']);
結論
希望您已經消除了對 Laravel Resources 控制器的疑問,並希望在您的下一個項目中嘗試。 希望這一小段內容能幫助您更好地理解它們。
更多學習內容請訪問:
騰訊T3-T4標準精品PHP架構師教程目錄大全,只要你看完保證薪資上升一個臺階(持續更新)