[laravel源码]Bootstrap\RegisterFacades.php解析
说明
本章节说明RegisterFacedes.php
所涉及流程。
源码
public function bootstrap(Application $app)
{
// 1. 删除所有 resolvedInstance
Facade::clearResolvedInstances();
// 2. 设置app
Facade::setFacadeApplication($app);
// 3. 变更 spl_autoload_register 绑定的方法,AliasLoader.load
AliasLoader::getInstance(array_merge(
$app->make('config')->get('app.aliases', []),
$app->make(PackageManifest::class)->aliases()
))->register();
}
分析
facede
从storage_path('framework/cache/facade-'.sha1($alias).'.php')
载入facede
不存在则利用模板..Illuminate\Foundation\stubs\facade.stub
创建
本作品采用《CC 协议》,转载必须注明作者和本文链接