Laravel 如何将外墙放置在全局和自定义命名空间中?

How is Laravel able to place facades in a global and custom namespace?

这个问题我已经有一段时间了,它真的一直困扰着我,所以我想我会问。在 Laravel 中,他们如何允许访问具有两个名称空间的外观?如果你不明白我的意思,这里有一个例子。 以下两个语句在使用会话外观时都有效:

use Session;
use Illuminate\Support\Facades\Session;

我在网上找遍了,还是没有找到这个问题的答案。

感谢您的帮助!

在 "config\app.php" 文件中有一个在 Illuminate\Foundation\AliasLoader 中使用的别名数组。 然后 Illuminate\Foundation\AliasLoader 调用 class_alias 方法在全局命名空间中创建别名。 由于延迟加载,实际流程有点复杂