服务容器实例化后,就可以通过服务容器来自动实例化对象了。于是,Kernel类就通过服务容器自动化创建而成,即index.php文件中的“$kernel=$app->make(Illuminate\Contracts\Http\Kernel::class);”。那么我们又在什么时候注册的服务呢?前面已经介绍过,在laravel\bootstrap\app.php文件中,实例化服务容器之后就注册了三个服务,其中就包括这个核心类接口。在注册服务时,服务名一般是接口。在Contracts命名空间下存储的都是接口,而提供的服务则是具体类、实例对象或返回实例对象的回调函数。