Laravel 5.3 正确初始化中间件中的守卫?

Laravel 5.3 correct initialize of the guard in middleware?

我尝试制作一个自定义的身份验证中间件,一切都正确但 $guard 不正确,我该如何正确初始化它?

我的代码如下:

Auth::guard($guard)->guest()

我尝试用以下方法初始化守卫,但这都不正确:

1. protected $guard = null;
2.     public function __construct($guard)
    {
        $guard = null;
    }
3.     public function __construct($guard)
    {
        protected = $guard;
    }

但是我收到了这条错误信息:

Undefined variable: guard

我这里做错了什么?

为您的控制器定义守卫的方式:

use Illuminate\Support\Facades\Auth;

protected function guard()
{
    return Auth::guard('guard-name');
}