返回响应对象和回显输出有什么区别?

What is the difference between returning a response object and echo output?

在 Slim Framework 路由中,可以使用 PHP 的原生 echo 函数 return 响应对象或回显输出。这两种方法有什么区别?

以下是每个备选方案的示例:

返回响应

$app->get('/hello/:name', function ($name) use ($app) {
    $response = $app->response;
    $response->setBody("Hello, " . $name);
    return $response;
});

回显输出

$app->get('/hello/:name', function ($name) use ($app) {
    echo "Hello, " . $name;
});

两者都给我相同的输出:

Hello, World

那么我为什么要使用第一个 (return $response)?

根据http://docs.slimframework.com/response/body/,完全没有区别。

如果你想覆盖输出而不是附加到它,你将不得不使用 $response 对象。 因此,出于一致性原因,您可能希望使用它?