【问题标题】:laravel terminable middleware - is it processed after the response has been sent to the browser?laravel 可终止的中间件 - 在将响应发送到浏览器后处理它吗?
【发布时间】:2019-01-06 18:51:39
【问题描述】:

根据可终止中间件上的Laravel documentation

如果您在中间件上定义了终止方法,它将在响应准备好发送到 浏览器。

我觉得措辞不清楚。我的terminate 方法中的代码会影响我的响应时间吗?

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    响应发送到浏览器后,中间件被index.php终止。

    “发送到浏览器”表示调用了header()函数设置了合适的headers,body输出已经echoed。

    terminate 方法中的代码会影响我的响应时间吗?

    是的。 即使调用了 header()echo,浏览器也不会在 PHP 脚本完全完成之前呈现输出。在可终止的中间件中登录影响页面加载速度。

    【讨论】:

      【解决方案2】:

      我还没有实际尝试过。但根据文档,它是一个“BEFORE”功能,您可以在其中检查完全准备好的响应对象,然后再发送响应。

      是的,它的处理时间会增加响应时间。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多