Laravel 5中间件和服务提供商之间的区别?

时间:2016-09-08 07:55:39

标签: php laravel laravel-5

服务提供商在引导期间向应用程序容器添加服务,而中间件......?

2 个答案:

答案 0 :(得分:1)

中间件可以在请求/您的控制器执行/响应之间形成链。

他们获得了请求/响应引用,因此他们可以自由修改请求/响应。您可以记录某些内容,修改响应,重定向等。

它可以形成这样的链:

  1. - >请求 - >提供者 - >中间件#1 - >中间件#2 - >控制器方法 - >中间件#3 - >响应

  2. - >请求 - >提供者 - >中间件#1 - >重定向

  3. 服务提供商非常不同。当您的应用程序引导时,它会调用注册的服务提供商。这些提供者可以将实例注册到IoC容器,控制台命令,查看作曲家等。

答案 1 :(得分:1)

顾名思义,中间件通常处于请求和中间位置。响应(示例自定义身份验证)。请记住,如果定义意味着它们总是被调用,则表示如果有需要做的事情,它们总是非常方便。

运营中的服务提供商做类似的事情,但不依赖于请求/响应,而是依赖于app bootstrap时间,即初始化过程。