1
我目前正在創建一個需要使用OAuth的庫。 PHP有一個OAuth
的擴展,我個人已經安裝並且可以使用,但是我不想要求這個對我的庫的依賴,因爲其他人可能無法使用它。使本機類符合用戶定義的接口?
我創建了一個OAuthInterface
接口,我想只是能夠實現此接口通過擴展本地OAuth
類並實現它:
namespace My\Lib\OAuth;
class OAuth extends \OAuth implements OAuthInterface {}
不過,我有一個很難創建接口正是方法簽名與從本土OAuth
類,並不斷收到錯誤,如:
PHP Fatal error: Declaration of OAuth::fetch() must be compatible with My\\Lib\\OAuth\\OAuthInterface::fetch($url, array $params = Array, $method = 'GET', array $headers = Array) in /path/to/My/Lib/OAuth/OAuth.php on line 7
就是我試圖做不可能的?我是否需要讓我的實現成爲一個傳遞類,它構成了本地實例OAuth
而不是擴展它?或者我只是沒有選擇正確的方法簽名?
這裏是接口,如果有幫助:
namespace My\Lib\OAuth;
interface OAuthInterface
{
public function fetch($url, array $params = [], $method = 'GET', array $headers = []);
public function getLastResponse();
}
是的,適配器模式是我的意思是「傳遞類」。感謝您的參考。 – FtDRbwLXw6 2013-03-04 01:41:57