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

mwa*_*wal 2 php laravel laravel-5

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

Tac*_*uma 6

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

他们获得了请求/响应引用,因此他们可以自由修改请求/响应。你可以记录一些东西,修改响应,重定向等。

它可以形成这样的链:

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

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

服务提供商则大不相同。当您的应用程序启动时,它会调用注册的服务提供者。这些提供者可以将实例注册到 IoC 容器、控制台命令、查看合成器等。