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

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

藍山帝景
TA貢獻1843條經驗 獲得超7個贊
您可以使用 URL::d efaults。您也可以從 https://laravel.com/docs/5.6/urls#default-values 那里得到答案
- 2 回答
- 0 關注
- 122 瀏覽
添加回答
舉報
0/150
提交
取消