Laravel,如何在项目的所有url中替换一个变量
Laravel, how to substitute a variable in all urls of the project
我有一个变量,我需要在项目的所有 url 中替换它。更详细一点:session('locale') 变量 returns 站点语言 'fr' 或其他。我不知道如何将变量替换为默认路由。
我想在模板中使用 <a href="{{session('locale')}}/page">Page</a>
类型的链接 (blade),但我不想堆积 html-template,我想要解决路由开头的问题,使所有 /page 链接默认使用 session('locale') 路由,那些 fr/page
现在路由如下所示:
[
// Get Prefix Language ['en', 'fr']
'prefix' => Localization::language(),
'middleware' => 'language',
],
function (){
// Main Page
Route::get('/', function () {
return view('home.index');
});
// Language Page
Route::get('/language', function () {
return view('home.language');
});
}
);
您可以使用 URL 默认值,您将需要创建一个像 setDefaultLanguage
这样的中间件,您将在该中间件中使用
URL::defaults(['locale' => session('locale')]);
现在您不再需要将区域设置传递给您调用的每个路由。更多信息 Here
In href you will have to use route()
to work correctly.
我有一个变量,我需要在项目的所有 url 中替换它。更详细一点:session('locale') 变量 returns 站点语言 'fr' 或其他。我不知道如何将变量替换为默认路由。
我想在模板中使用 <a href="{{session('locale')}}/page">Page</a>
类型的链接 (blade),但我不想堆积 html-template,我想要解决路由开头的问题,使所有 /page 链接默认使用 session('locale') 路由,那些 fr/page
现在路由如下所示:
[
// Get Prefix Language ['en', 'fr']
'prefix' => Localization::language(),
'middleware' => 'language',
],
function (){
// Main Page
Route::get('/', function () {
return view('home.index');
});
// Language Page
Route::get('/language', function () {
return view('home.language');
});
}
);
您可以使用 URL 默认值,您将需要创建一个像 setDefaultLanguage
这样的中间件,您将在该中间件中使用
URL::defaults(['locale' => session('locale')]);
现在您不再需要将区域设置传递给您调用的每个路由。更多信息 Here
In href you will have to use
route()
to work correctly.