Laravel 5.2如何在中间件中使用config :: set

时间:2016-07-28 13:42:13

标签: laravel laravel-5 laravel-5.2

我想在我的中间件中使用config::set来全局设置值。但它产生了错误。

以下是我正在使用的代码

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);
    }

这是我得到的错误

Class 'App\Http\Middleware\config' not found

2 个答案:

答案 0 :(得分:2)

假设您有一个文件config/bmc.php,如:

return[
   'admin_permission' => 'initial value'
];

并且您想要动态更改admin_permission值。您可以使用laravel全局函数config(),如:

$settings = [
   'bmc.admin_permission' => 'some value'
];
config($settings);

享受编码:)

答案 1 :(得分:1)

我从未使用过Config set,但由于它是Facade,因此必须在命名空间声明后添加void Cource::setCode(char* code) { ... }