ErrorException (E_WARNING) Недопустимый тип смещения в authManager.php laravel 6 - PullRequest
0 голосов
/ 09 ноября 2019

Я пытаюсь создать функцию входа в систему для моего приложения Laravel, где реестр работает нормально и данные добавляются в таблицы MySQL. Но когда я вхожу с учетными данными, он показывает мне

ErrorException (E_WARNING) Недопустимый тип смещения в ответе $ this-> guards [$ name] ?? $ this-> guards [$ name] = $ this-> resolution ($ name);

Пожалуйста, помогите мне в этом

public function guard($name = null)
{
    $name = $name ?: $this->getDefaultDriver();

    return $this->guards[$name] ?? $this->guards[$name] = $this->resolve($name);
}

Я также добавил новую функциюкод как

public function guard($name = null)
{
    if (empty($name)) {
        $name = $this->getDefaultDriver();
    }
    echo 'Argument type: '. gettype($name);
    var_dump($name); 
    if (key_exists($name, $this->guards)) {
        $result = $this->guards[$name];
    } else {
        $result = $this->resolve($name);
    }
    return $result;
}

Теперь он показывает мне это. Он показывал в key_exists () первый аргумент должен быть целым числом или строкой, затем я добавил метод var_dump (), чтобы узнать отип $ name.

1 Ответ

0 голосов
/ 09 ноября 2019

Это у вас работает?

public function guard($name = null)
{
    if (empty($name)) {
        $name = $this->getDefaultDriver();
    }

    if (key_exists($name, $this->guards)) {
        $result = $this->guards[$name];
    } else {
        $result = $this->resolve($name);
    }
    return $result;
}
...