问题
I want to use config::set in my Middleware for the set the value globally. But it is generating error.
Below is the code which I am using
public function handle($request, Closure $next, $guard = 'admin') {
if (!Auth::guard($guard)->check()) {
return redirect('/admin/login');
}
//dd(Auth::guard('admin')->user()->id);
$admin = $this->admin->with('adminRole')->find(Auth::guard('admin')->user()->id);
config::set('bmc.admin_permission', $admin);
// check user roles
if (array_key_exists('0', $admin->adminRole) && isset($admin->adminRole[0]->name)) {
dd($admin->hasRole($admin->adminRole[0]->name));
}
return $next($request);
}
Here is the error which I get
Class 'App\Http\Middleware\config' not found
回答1:
I never used Config set but since it is a Facade, you have to add use Config after your namespace declaration.
回答2:
Suppose you have a file config/bmc.php like:
return[
'admin_permission' => 'initial value'
];
and you want to change dynamically admin_permission value. You can use laravel global function config() like:
$settings = [
'bmc.admin_permission' => 'some value'
];
config($settings);
Enjoy coding :)
来源:https://stackoverflow.com/questions/38638237/laravel-5-2-how-to-use-configset-in-middleware