我对Slim如何根据文档返回没有return $response
的回复感到困惑。
如果我有以下代码:
$app->get('/login', function ($request, $response, $args) {
$response = $this->view->render($response, "login.php");
return $response;
});
当我通过浏览器拨打/login
时,它会呈现我的login.php
模板,这就是我所期望的。
但是,如果我删除return $response
它仍然有用这似乎不正确吗?
$app->get('/login', function ($request, $response, $args) {
$response = $this->view->render($response, "login.php");
});
两组代码都有相同的输出。
如果$response
不被退回,Slim如何显示回复?
答案 0 :(得分:1)
当你向正常身体贴上一些东西时,身体是Psr\Http\Message\StreamInterface
并不是永恒的:
$body = $response->getBody();
$body->write($string);
$body->write($string2);
这会更改流的内容,但仍然在同一个$response
- 对象中。
由于视图渲染器仅附加到正文,因此无需实际返回$response
。