【问题标题】:How Terminable Middleware works in Laravel?可终止的中间件在 Laravel 中是如何工作的?
【发布时间】:2015-07-23 07:50:19
【问题描述】:

我在 laravel 中发现了可终止的中间件,这对于在将响应发送到浏览器后完成工作非常有用。 Laravel 完成了很棒的设置!

我想知道这是如何工作的?我的意思是在向浏览器发送响应后,PHP 还在运行吗?

如果有人知道,请解释一下。

谢谢,吉米特

【问题讨论】:

  • 还没有读过代码,但是 Laravel 可能会捕获输出缓冲区,然后使用 Terminable 中间件做一些事情,然后对缓冲区内容进行一些魔术以创建一个 Response 对象,从而创建实际反应。不过我只是猜测,我手边没有代码,所以我不确定。

标签: php laravel laravel-4 laravel-5


【解决方案1】:

Laravel 5:

Symfony\Component\HttpKerne\TerminableInterface::terminate() 方法中所述, 该方法将在发送响应后关闭内核之前调用。

很明显,您将在此方法中获得响应对象,但如果您更改响应对象中的某些内容 这不会反映到发送到浏览器的响应对象。

此方法的一个很好的用例是,在集成测试期间,如果需要在关闭应用程序之前执行某些任务。

【讨论】:

    猜你喜欢
    • 2016-02-13
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    相关资源
    最近更新 更多