从Guzzle响应中创建新对象

时间:2015-10-15 11:54:16

标签: php oop guzzle

我正在学习OOP PHP,并且正在使用Guzzle进行API调用,并希望从响应中定义的类(Coverage)创建一个对象。

我的Guzzle请求看起来像

$client = new GuzzleHttp\Client(['base_uri' => 'http://www.example.com']);
$response = $client->request('GET', '?key=value&key=value');
$array = json_decode($response->getBody()->getContents(), true);

然后我实例化一个新的Coverage对象,如

$coverage = new Coverage($array);

我的班级看起来像

class Coverage {

private $postcode;
private $headline;

function __construct(array $array)
{
    $this->setPostcode($array['locationValue']);
}

使用私有变量的getter和setter。正如您所看到的,我正在传递json_decoded Guzzle响应 到Coverage构造函数,但我希望能够将Guzzle响应对象本身传递给 覆盖构造函数,例如

function __construct(GuzzleHttp\Psr7\Response $response)

function __construct(GuzzleHttp\Client $response)

我的问题是: 1)我是否有权在Coverage构造函数中键入一个Guzzle类,而不是只使用一般 数组是由Guzzle的getContents方法的json_decode产生的?

2)如果我这样做是正确的,我应该在Coverage构造函数中使用Guzzle类吗?

非常感谢您的帮助!

编辑:@Shaun Bramley的评论为我完美排序了这一点!

0 个答案:

没有答案