W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
資源控制器可讓你無痛建立和資源相關(guān)的 RESTful 控制器。例如,你可能希望創(chuàng)建一個(gè)控制器,它可用來處理針對(duì)你的應(yīng)用程序所保存相片的 HTTP 請(qǐng)求。我們可以使用 make:controller Artisan 命令,快速創(chuàng)建這樣的控制器:
php artisan make:controller PhotoController
接著,我們注冊(cè)一個(gè)指向此控制器的資源路由:
Route::resource('photo', 'PhotoController');
此單一路由聲明創(chuàng)建了多個(gè)路由,用來處理各式各樣和相片資源相關(guān)的 RESTful 行為。同樣地,產(chǎn)生的控制器已有各種和這些行為綁定的方法,包含用來通知你它們處理了那些 URI 及動(dòng)詞。
由資源控制器處理的行為
動(dòng)詞 | 路徑 | 行為 | 路由名稱 |
---|---|---|---|
GET | /photo | 索引 | photo.index |
GET | /photo/create | 創(chuàng)建 | photo.create |
POST | /photo | 保存 | photo.store |
GET | /photo/{photo} | 顯示 | photo.show |
GET | /photo/{photo}/edit | 編輯 | photo.edit |
PUT/PATCH | /photo/{photo} | 更新 | photo.update |
DELETE | /photo/{photo} | 刪除 | photo.destroy |
除此之外,你也可以指定讓路由僅處理一部分的行為:
Route::resource('photo', 'PhotoController',
['only' => ['index', 'show']]);
Route::resource('photo', 'PhotoController',
['except' => ['create', 'store', 'update', 'destroy']]);
所有的資源控制器行為默認(rèn)都有個(gè)路由名稱。然而你可在選項(xiàng)中傳遞一個(gè) names 數(shù)組來重載這些名稱:
Route::resource('photo', 'PhotoController',
['names' => ['create' => 'photo.build']]);
在你的路由聲明中使用「點(diǎn)」號(hào)來「嵌套化」資源控制器:
Route::resource('photos.comments', 'PhotoCommentController');
此路由會(huì)注冊(cè)一個(gè)「嵌套的」資源,可透過像 photos/{photos}/comments/{comments} 這樣的 URL 來訪問。
class PhotoCommentController extends Controller {
/**
* 顯示指定照片的評(píng)論。
*
* @param int $photoId
* @param int $commentId
* @return Response
*/
public function show($photoId, $commentId)
{
//
}
}
除了默認(rèn)的資源路由外,若你還需要在資源控制器中加入其他路由,應(yīng)該在調(diào)用 Route::resource 之前先定義它們:
Route::get('photos/popular', 'PhotoController@method');
Route::resource('photos', 'PhotoController');
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: