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