总结

Laravel的服务容器有许多名称,但不管您如何称呼它,最终它的目标是将某些字符串名称解析为具体实例变得容易。这些字符串名称将是类或接口的完全限定类名,或者像日志这样的快捷方式。

每一个绑定都会教给应用程序一个字符串键(例如,app(“log”)),如何解析一个具体的实例。

容器足够智能,可以进行递归依赖解析,因此如果您尝试解析具有构造函数依赖项的某个实例,容器将尝试基于其类型提示解析这些依赖项,然后将它们传递到类中,最后返回一个实例。

有几种方法可以绑定到容器,但最后它们都定义了返回什么,给定一个特定的字符串。

Facade是一些简单的快捷方式,可以很容易地在根命名空间别名类上使用静态调用来调用从容器中解析出来的类的非静态方法。 实时facade允许您通过使用Facades \预先填充其完全限定类名来处理任何类似外观的类