gpt4 book ai didi

php - 使用 Route::group、前缀和命名空间的 Laravel 本地化

转载 作者:搜寻专家 更新时间:2023-10-31 21:51:14 27 4
gpt4 key购买 nike

“您还可以在运行时使用 App facade 上的 setLocale 方法更改事件语言:” https://laravel.com/docs/5.3/localization#introduction

Route::get('welcome/{locale}', function ($locale) {
App::setLocale($locale);

//
});

如果我们有这样的事情,我们如何使用 $locale 来做到这一点:

Route::group(['prefix' => 'admin/{id}/{locale}', 'namespace' => 'Admin'], function( $locale ) {
// this does not work.
App::setLocale( $locale );

// this does work.
App::setLocale( Request::segment( 3 ) );

Route::resource('product', 'ProductController', ['except' => [
'show'
]]);

});

最佳答案

问题出在路由参数上,与本地化无关

由于您希望路由有两个参数,因此您应该为闭包传递两个参数。

Route::get('posts/{post}/comments/{comment}', function ($postId, $commentId) { 
//
});

在你的例子中

Route::group(['prefix' => 'admin/{id}/{locale}', 'namespace' => 'Admin'], function( $id, $locale ) { 
// this does not work.
App::setLocale( $locale );
// this does work.
App::setLocale( Request::segment( 3 ) );
Route::resource('product', 'ProductController', ['except' => [ 'show' ]]);
});

引用route parameters了解更多信息

关于php - 使用 Route::group、前缀和命名空间的 Laravel 本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41533747/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com