2016-10-22 2 views
0

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ではない場合は、が返されます。

$body = $response->getBody(); 
$body->write($string); 
$body->write($string2); 

これは、ストリームの内容を変更しますが、同じ$response -OBJECTにまだある:あなたは通常どおりの体に何かを追加するとき

答えて

1

体は、不変ではないPsr\Http\Message\StreamInterfaceです。

ビューレンダラーはボディにのみ追加されるため、実際には$responseを返す必要はありません。

関連する問題