亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

在laravel路由中使用參數調用自定義類方法

在laravel路由中使用參數調用自定義類方法

PHP
躍然一笑 2022-07-09 09:51:10
所以我有這個功能,它將被用作 1 作為工匠命令或 2 作為用戶可以使用的鏈接。這是功能:public function saveAll($whatLocation)    {      $userSaved = $this->saveUsersData();      $componentSaved = $this->saveComponentsData();      $issueSaved = $this->saveIssuesData();      $timelogSaved = $this->saveTimelogsData();      if($userSaved === 1 && $componentSaved === 1 && $timelogSaved === 1)      {        $this->allSaved = 1;      }      if($whatLocation != "artisanCommand")      {        return redirect()->back();      }      else      {        return $this->allSaved;      }    }這個想法是,如果它來自我創建的工匠控制臺命令,我會傳遞“artisanCommand”,但如果它來自路由,它會拉取我的 api 數據并重定向到上一頁。這是問題所在:在網絡路由文件中,我現在不能調用具有參數的函數?Route::get('/pull-and-save-api-data', [App\Classes\SaveApiData::class, 'saveAll'])->name('pull-and-save-api-data');如果函數上沒有參數,這可以工作,但現在有參數就不行了?我試過了:Route::get('/pull-and-save-api-data', [App\Classes\SaveApiData::class, 'saveAll("notcommand")'])->name('pull-and-save-api-data');Route::get('/pull-and-save-api-data/{notcommand}', [App\Classes\SaveApiData::class, 'saveAll'])->name('pull-and-save-api-data');既不工作?
查看完整描述

1 回答

?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

由于您沒有從路由傳遞給它的值,因此您只需為該函數創建一個默認參數怎么樣?


public function saveAll($whatLocation = null)

我不會直接從這樣的路線調用你的方法;讓路由轉到控制器并讓該控制器與您需要的類/庫進行交互。


如果你真的必須從路由中傳遞一個值,你可以設置一個默認值:


Route::get('/pull-and-save-api-data', [App\Classes\SaveApiData::class, 'saveAll'])

    ->name('pull-and-save-api-data')

    ->defaults('whatLocation', 'notArtisan');


查看完整回答
反對 回復 2022-07-09
  • 1 回答
  • 0 關注
  • 128 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號