这是什么意思,我该如何解决?
FatalErrorException in User.php line 8:
Class App\User contains 6 abstract methods and must therefore be declared abstract or implement the remaining methods (Illuminate\Contracts\Auth\Authenticatable::getAuthIdentifierName, Illuminate\Contracts\Auth\Authenticatable::getAuthIdentifier, Illuminate\Contracts\Auth\Authenticatable::getAuthPassword, ...)
当我尝试登录我的laravel应用程序的仪表板时,就发生了这种情况。
答案 0 :(得分:1)
这是关于接口实现的。如果要实现接口,则需要提及所声明的接口的所有方法。
照亮\合同\验证\可验证
界面定义:
interface Authenticatable {
public function getAuthIdentifierName();
public function getAuthIdentifier();
public function getAuthPassword();
public function getRememberToken();
public function setRememberToken($value);
public function getRememberTokenName();
}
因此,您的User类必须具有上述方法。
class User implements Illuminate\Contracts\Auth\Authenticatable
{
public function getAuthIdentifierName() {}
public function getAuthIdentifier(){}
public function getAuthPassword(){}
public function getRememberToken(){}
public function setRememberToken($value){}
public function getRememberTokenName(){}
}
即使您不想在这些方法中编写代码,但是,仍然需要在用户类中编写空方法。
解决方案:
该界面主要用于 Auth 机制。如果您不想使用验证,只需从用户类中删除您的Authenticatable接口即可。
如果需要将其用于 Auth ,则需要实现所有接口方法并使其正确。更多信息请阅读以下网站: