访问 Slim 3 响应对象的数据
Accessing the Data of a Slim 3 Response Object
我正在使用名为 Slim 3 的 PHP 框架,我想检查我的 Response
对象,我想知道为什么这不可能。
官方文档指出 Response` 对象实现了 PSR 7 ResponseInterface,它允许我检查正文。
当我 var_dump($response->getBody();
时,我只看到一个 protected
正文,我无法在任何地方找到我的 $stack
内容。
文档说明了这一点,我认为这就是原因。能否确认一下?
Reminder
The Response object is immutable. This method returns a copy of the Response object that contains the new body.
来源:https://www.slimframework.com/docs/objects/response.html
PHP 控制器 class
class Controller
{
public function index($request, $response, $args)
{
// code
$stack = array($cars, $manufacturers);
$response = $response->withJson($stack);
return $response->withStatus(200);
}
}
var_dump
的输出
class Slim\Http\Response#201 (5) {
protected $status =>
int(200)
protected $reasonPhrase =>
string(2) "OK"
protected $protocolVersion =>
string(3) "1.1"
protected $headers =>
class Slim\Http\Headers#200 (1) {
protected $data =>
array(1) {
'content-type' =>
array(2) {
...
}
}
}
protected $body =>
class Slim\Http\Body#202 (7) {
protected $stream =>
resource(87) of type (stream)
protected $meta =>
array(6) {
'wrapper_type' =>
string(3) "PHP"
'stream_type' =>
string(4) "TEMP"
'mode' =>
string(3) "w+b"
'unread_bytes' =>
int(0)
'seekable' =>
bool(true)
'uri' =>
string(10) "php://temp"
}
protected $readable =>
NULL
protected $writable =>
bool(true)
protected $seekable =>
NULL
protected $size =>
NULL
protected $isPipe =>
NULL
}
}
内容写入 HTTP 响应正文流。
$content = $response->getBody()->__toString();
或
$content = (string)$response->getBody();
我正在使用名为 Slim 3 的 PHP 框架,我想检查我的 Response
对象,我想知道为什么这不可能。
官方文档指出 Response` 对象实现了 PSR 7 ResponseInterface,它允许我检查正文。
当我 var_dump($response->getBody();
时,我只看到一个 protected
正文,我无法在任何地方找到我的 $stack
内容。
文档说明了这一点,我认为这就是原因。能否确认一下?
Reminder The Response object is immutable. This method returns a copy of the Response object that contains the new body.
来源:https://www.slimframework.com/docs/objects/response.html
PHP 控制器 class
class Controller
{
public function index($request, $response, $args)
{
// code
$stack = array($cars, $manufacturers);
$response = $response->withJson($stack);
return $response->withStatus(200);
}
}
var_dump
的输出class Slim\Http\Response#201 (5) {
protected $status =>
int(200)
protected $reasonPhrase =>
string(2) "OK"
protected $protocolVersion =>
string(3) "1.1"
protected $headers =>
class Slim\Http\Headers#200 (1) {
protected $data =>
array(1) {
'content-type' =>
array(2) {
...
}
}
}
protected $body =>
class Slim\Http\Body#202 (7) {
protected $stream =>
resource(87) of type (stream)
protected $meta =>
array(6) {
'wrapper_type' =>
string(3) "PHP"
'stream_type' =>
string(4) "TEMP"
'mode' =>
string(3) "w+b"
'unread_bytes' =>
int(0)
'seekable' =>
bool(true)
'uri' =>
string(10) "php://temp"
}
protected $readable =>
NULL
protected $writable =>
bool(true)
protected $seekable =>
NULL
protected $size =>
NULL
protected $isPipe =>
NULL
}
}
内容写入 HTTP 响应正文流。
$content = $response->getBody()->__toString();
或
$content = (string)$response->getBody();