關於laravel的return方法
phpcn_u1582
phpcn_u1582 2017-05-16 16:54:48
0
3
1162

為什麼laravel中,return "xxx";會直接回傳xxx並且輸出到目前頁面上。而php中的 return "xxxx" 並不會輸出在頁面上任何東西。他們是同一個方法嗎,到底怎麼在laravel使用不用輸出到頁面上內容的php 原始 return 方法。

phpcn_u1582
phpcn_u1582

全部回覆(3)
滿天的星座

在Laravel中,並不是因為你return才輸出頁面,return的東西還需要經過Response,再通过它的send方法
送出去。

淡淡烟草味

composer intasll 能下載半網路

曾经蜡笔没有小新

看了下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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板