machenchi0207 的答案在我看来已经很全了,但是我看题主没有采纳,又有邀请,所以我来回答一下我的寻找过程;
先上结果:
没错,就是通过这里返回给你的实例化后的类.
过程呢,就是跟着 IDE 点啊点啊,就到了.
好吧,还是有些问题的,比如 App
点进去的一开始就遇到了麻烦, 不知道下一步怎么点了.
这里 laravel 用的是 Facade 类 ;
protected static function getFacadeAccessor()
{
return 'app';
}
这里给了 'app'
这一提示信息, 根据这一提示信息, 可以去文档中去寻找. 文档拿去!
也可以 Control+Shift+F
查找 'app'
public function registerCoreContainerAliases()
{
$aliases = [
'app' => [
IlluminateFoundationApplication::class,
IlluminateContractsContainerContainer::class,
IlluminateContractsFoundationApplication::class
],
确定了 IlluminateFoundationApplication
为需要的类.
之后的事情就简单多了, ide 能直接跟进去, 最终找到返回实例化的地方.
这样的结果只是找到了地方,却没有理解过程.
可以辅以文档,如果能清晰的看懂注释就更好了, 一点点的理解laravel框架的思想, Facades & 容器 等.
完~
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…