0

我正在使用"guzzlehttp/guzzle": "~6.0"并尝试使用下面的代码来 github 用户。

$client = new \GuzzleHttp\Client();

$request = $client->createRequest('GET', 'https://api.github.com/users');
$query = $request->getQuery();
$query->set('since',135);
$response = $request->send();
$oResponse = json_decode($response->getBody(true));

但是我遇到了错误 Argument 3 passed to GuzzleHttp\Client::request() must be of the type array, string given 但是这种方法适用于"guzzle/guzzle": "^3.9",我不知道我在哪里遗漏了一些东西。

4

1 回答 1

0

"guzzlehttp/guzzle": "~6.0"将为您提供 Guzzle v6.1.1。v3.9 和 v6.1 之间的方法和方法签名不同。如此之多,以至于Client::createRequest()在 v6.1 中不存在,并且事实上被捕获Client::__call()然后传递到Client::request()您获取错误的位置,因为提供的参数与Client::request().

更多关于 Guzzle 6 的信息可以从Guzzle 文档中获得。

你还会发现你$request->send()会抛出一个错误。Guzzle 6 将 Psr7 放在心上,因此请求/响应对象实现了 Psr7 规范。

于 2016-03-08T23:11:10.307 回答