服务容器


1、简介

Laravel 服务容器是一个用来管理类依赖和执行依赖注入的强大工具,所谓依赖注入指的是依赖类通过构造函数或“setter”方法注入到代码中。

2、与Laravel的不同之处

Lumen和Laravel框架使用同样的服务容器,所以关于服务容器的完整文档,请参考完整的Laravel服务容器文档。

访问容器

Laravel\Lumen\Application实例继承自Illuminate\Container\Container,因此被当作应用的服务容器使用。

通常,你可以在服务提供者中注册绑定到容器,你可以使用bindsingletoninstance以及容器提供的其它方法实现绑定操作。

解析实例

要从容器中解析对象,可以在容器已经自动解析的类(例如路由闭包、控制器构造函数、控制器方法、中间件、事件监听器或者队列任务等)中使用类型提示的方式注入该对象,或者你还可以使用app函数直接解析:

$instance = app(Something::class);