沃梦达 / 编程问答 / php问题 / 正文

超薄框架返回响应而不返回$Response'

Slim Framework returning response without #39;return $response#39;(超薄框架返回响应而不返回$Response#39;)

本文介绍了超薄框架返回响应而不返回$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

这篇关于超薄框架返回响应而不返回$Response'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:超薄框架返回响应而不返回$Response'

基础教程推荐