第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

拉拉維爾以干凈的方式排除足智多謀的功能

拉拉維爾以干凈的方式排除足智多謀的功能

PHP
交互式愛情 2022-09-17 21:25:41
目前,我的文件中有這4條資源豐富的路線。web.phpRoute::resource('campaigns', 'CampaignController')->except(['show']);Route::resource('users', 'UserController')->except(['show']);Route::resource('models', 'ModelController')->except(['show']);Route::resource('trims', 'TrimController')->except(['show']);我不禁想知道。難道我不能向函數(shù)中添加一些東西來使它以這種方式運行嗎?這是因為它們都有一個共同點。他們的方法。Route::resourcesexcept()show()它想要這樣的東西。(此示例不起作用,因為 沒有方法。resources()except()Route::resources([    'campaigns' => 'CampaignController',    'users' => 'UserController',    'models' => 'ModelController',    'trims' => 'TrimController'])->except(['show']);
查看完整描述

3 回答

?
呼如林

TA貢獻1798條經(jīng)驗 獲得超3個贊

這個問題已經(jīng)很老了,但我只是面對同樣的問題,并以這種方式解決它:


Route::resources([

    'campaigns' => 'CampaignController',

    'users' => 'UserController',

    'models' => 'ModelController',

    'trims' => 'TrimController'

], [

    'except' => ['show']

    // you can set here other options e.g. 'only', 'except', 'names', 'middleware'

]);

根據(jù)源代碼,方法不可鏈接,因為它返回 。但是,您仍然可以將選項傳遞到 的第二個參數(shù)中。resourcesvoidresources


這是“拉雷爾方式”,您沒有覆蓋任何供應(yīng)商代碼。


在這里挖掘以獲取更多信息,它是如何工作的。


請注意,如果要排除方法,但嘗試在瀏覽器中訪問(HTTP ),路由器將拋出錯誤。發(fā)生這種情況是因為路由器仍然具有此路由,但對于 、 和 。然后您的應(yīng)用程序崩潰。show/users/{user}GETThe GET method is not supported for this route. Supported methods: PUT, PATCH, DELETE.PUTPATCHDELETE


因此,如果有人不小心轉(zhuǎn)到“顯示”頁面,也許您希望顯示HTTP 404。我更喜歡添加后備路由(這應(yīng)該是你的路由的最后一個路由!)


Route::fallback(function () {

    abort(404);

});


查看完整回答
反對 回復(fù) 2022-09-17
?
千巷貓影

TA貢獻1829條經(jīng)驗 獲得超7個贊

您可以編寫自己的類來擴展和實現(xiàn)您的方法,如下所示:Illuminate\Routing\Routeresources


namespace App\Extends;


class Route extends Illuminate\Routing\Route {


   public function resources($routes, array $excepts) {

     foreach ($routes as $key => $value){

         $this->resource($key, $value)->except($excepts);

     }

   }


}

之后,您需要在服務(wù)提供程序中綁定類,如下所示:


public function register()

{

    $this->app->bind('Illuminate\Routing\Route', 'App\\Extends\\Route');

}

并呼叫網(wǎng)絡(luò).php如下所示:resources


Route::resources([

    'campaigns' => 'CampaignController',

    'users' => 'UserController',

    'models' => 'ModelController',

    'trims' => 'TrimController'

], ['show']);

[編輯 1]


從 laravel.com/docs/5.8/controllers#resource-controllers


您可以通過將數(shù)組傳遞給 resources 方法一次注冊多個資源控制器:


Route::resources([

    'photos' => 'PhotoController',

    'posts' => 'PostController'

]);

但我不知道你是否可以這樣打電話->except(['show'])


Route::resources([])->except(['show'])


查看完整回答
反對 回復(fù) 2022-09-17
?
浮云間

TA貢獻1829條經(jīng)驗 獲得超4個贊

如果你談?wù)摽赡苄?,那么是的,正如上面提到的答案所提到的,這是可能的,但默認情況下你不能

看看這個文件,

/供應(yīng)商/拉拉維爾/框架/src/照明/支持/立面/路線.php

 * @method static \Illuminate\Routing\PendingResourceRegistration resource(string $name, string $controller, array $options = [])
 * @method static void resources(array $resources)


查看完整回答
反對 回復(fù) 2022-09-17
  • 3 回答
  • 0 關(guān)注
  • 136 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號