Gerade erst begonnen OOP lernen und ich versuche, eine abstrakte Klasse durch ein Paket zu verlängern und das ist der Fehler Ich erhalte:PHP FatalErrorException - Erklärung ‚‘ müssen kompatibel sein mit ‚‘
Erklärung Clio :: getResourceOwnerDetailsUrl() muss mit Liga \ OAuth2 \ Client \ Provider kompatibel sein \ AbstractProvider :: getResourceOwnerDetailsUrl (Liga \ OAuth2 \ Client \ Token \ AccessToken $ Token)
Here is the documentation I'm following for that package here
der Ab strakte Klasse selbst ist lang aber Im Einfügen die abstrakte Methode, die ich in meiner erweiterten Klasse zu implementieren bin versucht:
/**
* Returns the URL for requesting the resource owner's details.
*
* @param AccessToken $token
* @return string
*/
abstract public function getResourceOwnerDetailsUrl(AccessToken $token);
Und hier ist das, was ich als meine Controller-Klasse:
class Clix extends League\OAuth2\Client\Provider\AbstractProvider{
public function getBaseAuthorizationUrl(){}
public function getBaseAccessTokenUrl(array $params){}
public function getResourceOwnerDetailsUrl(AccessToken $token){}
protected function getDefaultScopes(){}
protected function checkResponse($response, $data){}
protected function createResourceOwner(array $response, $token){}}
Bitte lassen Sie mich wissen, was hier falsch ist. Durch die Art, wie ich dies in Laravel mache 5.3 PHP v5.6.25 läuft
Haben Sie 'AccessToken' importiert? –
@LordZed das muss es sein. Hab ich nicht. Mache ich hier nur "Gebrauch"? – user6890934
Wenn Sie eine abstrakte Klasse erweitern, müssen Sie ** all ** der angegebenen abstrakten Funktionen definieren, und Ihre Deklarationen dieser Funktionen müssen mit den abstrakten Deklarationen kompatibel sein. –