0

我正在尝试为我的 Laravel 应用程序创建一个登录功能,其中注册工作正常并且数据正在添加到 MySQL 表中。但是当我使用凭据登录时,它会显示我

ErrorException (E_WARNING) 非法偏移类型返回 $this->guards[$name] ?? $this->guards[$name] = $this->resolve($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 的类型。

4

1 回答 1

0

这对你有用吗?

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;
}
于 2019-11-09T17:47:34.563 回答