Вот содержание response.txt
:
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 15 Feb 2016 18:25:28 GMT
Content-Type: application/json;charset=utf-8
{
"field1": "a",
"field2": "b",
}
Я старался:
$stream = Psr7\stream_for(file_get_contents('response.txt'));
$response = new Response(200, ['Content-Type' => 'application/json'], $stream);
dd($response->getBody());
Какой выход:
object(GuzzleHttp\Psr7\Stream)#3 (7) {
["stream":"GuzzleHttp\Psr7\Stream":private]=>
resource(26) of type (stream)
["size":"GuzzleHttp\Psr7\Stream":private]=>
NULL
["seekable":"GuzzleHttp\Psr7\Stream":private]=>
bool(true)
["readable":"GuzzleHttp\Psr7\Stream":private]=>
bool(true)
["writable":"GuzzleHttp\Psr7\Stream":private]=>
bool(true)
["uri":"GuzzleHttp\Psr7\Stream":private]=>
string(10) "php://temp"["customMetadata":"GuzzleHttp\Psr7\Stream":private]=>
array(0) {
}
}
Поэтому я не могу получить содержимое JSON в response.txt
, как это сделать? Что я хочу получить, это что-то вроде:
array('field1'=>'a','field2'=>'b');
Третий параметр конструктора класса Response должен быть строкой тела. Смотрите документацию для класса Guzzle Response: http://docs.guzzlephp.org/en/latest/psr7.html#guzzle-and-psr-7.
Следующий код должен работать:
$stream = file_get_contents('response.txt');
$response = new Response(200, ['Content-Type' => 'application/json'], $stream);
dd($response->getBody());
Других решений пока нет …