Laravel 默认控制器密钥

Laravel 默认控制器密钥,laravel,laravel-5.2,laravel-routing,Laravel,Laravel 5.2,Laravel Routing,我有一条如下的拉威尔路线: Route::group(['namespace' => 'Aggregate\Customer\Controller\v1_0','middleware' => 'jwt.auth', 'prefix' => 'api/v1.0/{lang}'], function () { Route::put('customer/{id}', 'CustomerController@update_customer'); }); 我想langkey

我有一条如下的拉威尔路线:

 Route::group(['namespace' => 'Aggregate\Customer\Controller\v1_0','middleware' => 'jwt.auth', 'prefix' => 'api/v1.0/{lang}'], function () {
    Route::put('customer/{id}', 'CustomerController@update_customer');
 });
我想
lang
key on route
'prefix'=>'api/v1.0/{lang}'
成为所有方法和所有控制器中的第一个全局变量,而不在所有方法中添加手动,例如:
请参见$lang

public function add_address_book($lang,$user_id,AddressBookRequest $request)
{

我该怎么做呢?

一个选项是更新配置变量
app.locale

Route::group([
  'namespace' => 'Aggregate\Customer\Controller\v1_0',
  'middleware' => 'jwt.auth',
  'prefix' => 'api/v1.0/{lang}'
], function () {
  App::setLocale(app('request')->segment(3));

  Route::put('customer/{id}', 'CustomerController@update_customer');
});
然后使用

echo App::getLocale();
可以在app/config.php中设置默认区域设置和备用区域设置

另一个选项是在应用程序容器中设置单例

Route::group([
  'namespace' => 'Aggregate\Customer\Controller\v1_0',
  'middleware' => 'jwt.auth',
  'prefix' => 'api/v1.0/{lang}'
], function () {
  app()->singleton('lang', function () {
    return app('request')->segment(3);
  });

  Route::put('customer/{id}', 'CustomerController@update_customer');
});
然后在您的控制器(或任何地方)中,您可以使用

echo app('lang');

请帮助我的朋友