将函数分配给类的构造函数中的类属性?

时间:2019-01-12 21:56:51

标签: php laravel constructor

我在Laravel代码库中遇到了这段代码,在该代码库中,将一个函数分配给了构造函数中的属性($this->userResolver)。这样做的目的是什么?

userResolver没有使用传递给构造函数的任何参数。有问题的类是AuthManager类(Illuminate / Auth / AuthManager.php)。

如果我在构造函数中删除了$ this-> userResolver代码,一切似乎仍然可以正常工作。希望有人能解释这一点,谢谢!

   public function __construct($app)
    {
        $this->app = $app;
        $this->userResolver = function ($guard = null) {
            return $this->guard($guard)->user();
        };
    }

1 个答案:

答案 0 :(得分:0)

有关设置userResolver指向功能的通知。该函数具有一个参数($ guard)。通常,这是一种向对象添加功能的技术。