Назначение функции свойству класса в конструкторе класса? - PullRequest
0 голосов
/ 13 января 2019

Я сталкивался с этим кодом в кодовой базе 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 голосов
/ 13 января 2019

Обратите внимание, что это установка userResolver для указания на функцию. Эта функция имеет параметр ($ guard). В общем, это метод добавления функции к объекту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...