fairycat

Created:
Updated:
Fairycat

Laravel服务拓展方法,无需提前解析服务

Laravel中的各种可以拓展的服务、驱动,例如Filesystem、Notification等。需要拓展的服务,在自定义的服务提供者的boot方法中,extend添加拓展就可以。

对一个服务直接添加拓展,该服务还没使用到的时候就已经被解析了。要对一个延迟解析的服务添加拓展,这么做是不是有些欠妥。

那么为了达到延迟解析的效果,就是把需要的拓展,传给application,而不是直接给服务添加拓展。这样,在使用到该服务的时候,application在解析该服务的时候,会把拓展添加上去的。