為什麼laravel中,return "xxx";會直接回傳xxx並且輸出到目前頁面上。而php中的 return "xxxx" 並不會輸出在頁面上任何東西。他們是同一個方法嗎,到底怎麼在laravel使用不用輸出到頁面上內容的php 原始 return 方法。
曾经蜡笔没有小新2017-05-16 16:56:48
看了下Laravel原始碼,答案就在SymfonyComponentHttpFoundationResponse這個類別裡面
入口檔案呼叫了一個$response->send()方法
public function send()
{
$this->sendHeaders();
$this->sendContent();
if (function_exists('fastcgi_finish_request')) {
fastcgi_finish_request();
} elseif ('cli' !== PHP_SAPI) {
static::closeOutputBuffers(0, true);
}
return $this;
}
然後再看sendContent()方法
public function sendContent()
{
echo $this->content;
return $this;
}
這裡看到還是使用的echo