Über die Rückgabemethode in Laravel
phpcn_u1582
phpcn_u1582 2017-05-16 16:54:48
0
3
1168

Warum in Laravel „xxx“ zurückgibt, wird xxx direkt zurückgegeben und auf der aktuellen Seite ausgegeben. Und wenn Sie „xxxx“ in PHP zurückgeben, wird nichts auf der Seite ausgegeben. Handelt es sich um dieselbe Methode? Wie kann ich die ursprüngliche Rückgabemethode von PHP in Laravel verwenden, ohne Inhalte auf der Seite auszugeben?

phpcn_u1582
phpcn_u1582

Antworte allen(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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage