2016-07-15 4 views
-1

Was bedeutet das, und wie repariere ich es ??Laravel "FatalErrorException in User.php Zeile 8:"

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, ...) 

Es geschah, als ich für meine Laravel app in mein Armaturenbrett anmelden wollte.

+3

Können Sie die User.php Klasse posten? Es sieht so aus, als ob Ihre Klasse einige Methoden der abstrakten Klasse nicht implementiert. – Daniel

Antwort

1

Dies ist über die Schnittstelle implementiert. Wenn Sie die Schnittstelle implementieren möchten, müssen Sie alle Methoden angeben, deren Schnittstelle deklariert wurde.

Illuminate \ Verträge \ Auth \ authentifizierbarer

Die Schnittstellendefinition:

interface Authenticatable { 

    public function getAuthIdentifierName(); 
    public function getAuthIdentifier(); 
    public function getAuthPassword(); 
    public function getRememberToken(); 
    public function setRememberToken($value); 
    public function getRememberTokenName(); 

} 

So Ihre Benutzerklasse müssen die oben genannten Methoden haben.

Auch wenn Sie in diesen Methoden keinen Code schreiben möchten, müssen Sie in Ihrer Benutzerklasse dennoch eine leere Methode schreiben.

Lösung:

  1. Die Schnittstelle hauptsächlich für Auth Mechanismus. Wenn Sie nicht für Auth verwenden möchten, entfernen Sie Ihre Authenticatable-Schnittstelle nur aus Ihrer Benutzerklasse.

  2. Wenn Sie es für Auth benötigen, müssen Sie alle Schnittstellenmethoden implementieren und es richtig machen. Weitere Informationen finden Sie auf folgenden Websites: