搜尋

首頁  >  問答  >  主體

關於laravel的return方法

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

phpcn_u1582phpcn_u15822754 天前1170

全部回覆(3)我來回復

  • 滿天的星座

    滿天的星座2017-05-16 16:56:48

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

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 16:56:48

    composer intasll 能下載半網路

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新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

    回覆
    0
  • 取消回覆