Laravel 中延时绑定的理解

在学习laravel的加载流程中,在初始的环节中,有一个地方卡了半天,一直不明白什么是什么意思,经过查询资料,原来是延时绑定,延时绑定一直没有用过,所以才不明白,代码如下:

  1. 位置为vendor/laravel/framework/src/Illuminate/Foundation/Application.php这个类中的注册初始化的时候调用此处。static::setInstace($this)中setinstance为下图容器中的方法,$this为当前Application应用实例对象。

Laravel 中延时绑定的理解

2.位置为vendor/laravel/framework/src/Illuminate/Container/Container.php,此处return的其实是把Application实例化对象付给了static::$instance。
Laravel 中延时绑定的理解
3.位置为vendor/laravel/framework/src/Illuminate/Container/Container.php与上边方法相对应,此方法为获取Application实例对象的方法,如果不存在就实例化Application类,此处new static是实例化子类的方法,因为Container.php只有Application这一个子类,所以任何地方调用此方法,实例化的都是Application此应用类。
Laravel 中延时绑定的理解

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!