超薄框架返回响应而不返回$Response';
根据文档,我搞不懂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将如何显示响应?
解决方案
正文是PsrHttpMessageStreamInterface
,它不是一成不变的,当您将某些内容附加到正文后,您通常会这样做:
$body = $response->getBody();
$body->write($string);
$body->write($string2);
这会更改流的内容,但仍在相同的$response
-对象中。
由于视图呈现器仅附加到正文,因此不需要实际返回$response
。
相关文章