我的網(wǎng)站必須是多語言的,除了一件之外,一切都很好,例如我的主頁路線如下:Route::get('/{lang}','Welcomecontroller@index');在引導(dǎo)方法的 AppServiceProvider 中,我編寫了以下函數(shù):public function boot(){ $request=Request::capture(); Cookie::queue('lang',$request->lang); $lang=$request->has('lang') ? $request->lang : "fa"; app()->setLocale($lang);}我的代碼問題在這里,我的代碼在傳遞查詢字符串(如?lang=en)時(shí)工作正常,但在路由中傳遞參數(shù)時(shí),如get('/{lang}','WelcomeController@index');如果參數(shù)不存在,則顯示404頁面,并且始終顯示fa lang,如果參數(shù)傳遞。如果默認(rèn)情況下{lang}參數(shù)不存在,那么有沒有辦法使用此方法,例如en lang和url顯示,就像 http://localhost:8000/ http://localhost:8000/en 以及如何在該方法中從url獲取{lang}參數(shù)一樣。
2 回答

嚕嚕噠
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
你可以像這樣讓它成為空
Route::get('/{lang?}','Welcomecontroller@index');
在函數(shù)中的控制器中,您可以像這樣傳遞默認(rèn)值:Welcomecontrollerindex
public function index($lang = 'fa'){
// code
}
您可以從 https://laravel.com/docs/6.x/routing#parameters-optional-parameters

藍(lán)山帝景
TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以使用 URL::d efaults。您也可以從 https://laravel.com/docs/5.6/urls#default-values 那里得到答案
- 2 回答
- 0 關(guān)注
- 118 瀏覽
添加回答
舉報(bào)
0/150
提交
取消