だけでOOPを習い始めて、私はパッケージで提供抽象クラスを拡張しようとしている、これは私が取得していますエラーです:PHP FatalErrorException - 「の宣言は」「と互換性がなければならない」
クリオの宣言:: getResourceOwnerDetailsUrl()リーグ\のOAuth2 \クライアント\プロバイダとの互換性が必要\ AbstractProvider :: getResourceOwnerDetailsUrl(リーグ\のOAuth2 \クライアント\トークン\ AccessToken $トークン)
Here is the documentation I'm following for that package here
アブ私は私のコントローラクラスとして持っているものされ、ここで
/**
* Returns the URL for requesting the resource owner's details.
*
* @param AccessToken $token
* @return string
*/
abstract public function getResourceOwnerDetailsUrl(AccessToken $token);
そして、::stractクラス自体は長いものですが、イムは、私は私の拡張クラスで実装しようとしている抽象メソッドを貼り付ける
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){}}
ここで間違っていることを教えてください。私はあなたが抽象クラス上のPHPのドキュメントを読めば、PHPのv5.6.25
あなたは 'AccessToken'をインポートしましたか? –
@ LordZedでなければなりません。私はしませんでした。私はここで「使用」するだけですか? – user6890934
抽象クラスを拡張するときは、それが指定する抽象関数の** all **を定義する必要があり、それらの関数の宣言は抽象宣言と互換性がなければなりません。 –