我这里简单加一行if判断,可以具体走到RegisterFacades方法*/ if ($bootstrapper == 'Illuminate\Foundation...\Bootstrap\RegisterFacades') { // 这个$this就是application对象,然后你可以去追一下RegisterFacades...的bootstrap方法 $this->make('Illuminate\Foundation\Bootstrap\RegisterFacades')...} Http/Kernel.php的 handle ($request)-> sendRequestThroughRouter -> bootstrap RegisterFacades
Illuminate\Foundation\Bootstrap\HandleExceptions', 'Illuminate\Foundation\Bootstrap\RegisterFacades...this->app->bootstrapWith($this->bootstrappers()); } } 在启动应用的过程中 Illuminate\Foundation\Bootstrap\RegisterFacades...class RegisterFacades { /** * Bootstrap the given application....{ return $this->addRoute(['GET', 'HEAD'], $uri, $action); } 补充两点: 解析服务时用的 static::$app是在最开始的 RegisterFacades
use Log; Log::info();就能使用记录日志了.下面来分析原理 laravel的加载过程这里不分析,中间有一步会执行如下这个’Illuminate\Foundation\Bootstrap\RegisterFacades...’的bootstrap方法; class RegisterFacades { public function bootstrap(Application $app) { //.....ConfigureLogging', 'Illuminate\Foundation\Bootstrap\HandleExceptions', 'Illuminate\Foundation\Bootstrap\RegisterFacades
加载外观服务 「外观」服务的加载工作由定义在 Illuminate\Foundation\Http\Kernel 内核中的 \Illuminate\Foundation\Bootstrap\RegisterFacades...所以这里我们需要深入到 RegisterFacades 类的内部去了解更多细节上的处理。 <?...use Illuminate\Foundation\PackageManifest; use Illuminate\Contracts\Foundation\Application; class RegisterFacades...解析对象的功能中我们可以看到:它会调用实现「外观」的 getFacadeAccessor 方法获取到组件(服务或者说接口)的名称;然后从 Laravel 服务容器 static::$app[$name](app 是在 RegisterFacades
\Illuminate\Foundation\Bootstrap\HandleExceptions::class, \Illuminate\Foundation\Bootstrap\RegisterFacades...RegisterFacades 注册Facades 6. RegisterProviders 注册Providers 7....'Illuminate\Foundation\Bootstrap\HandleExceptions', 'Illuminate\Foundation\Bootstrap\RegisterFacades
注册Facades RegisterFacades 6. 注册Providers RegisterProviders 7....'Illuminate\Foundation\Bootstrap\HandleExceptions', 'Illuminate\Foundation\Bootstrap\RegisterFacades...'Illuminate\Foundation\Bootstrap\HandleExceptions', 'Illuminate\Foundation\Bootstrap\RegisterFacades...看下RegisterFacades::bootstrap()的源码: public function bootstrap(Application $app) { Facade...注册Facades RegisterFacades;6. 注册Providers RegisterProviders;7. 启动Providers BootProviders。
注册Facades RegisterFacades 6. 注册Providers RegisterProviders 7....ConfigureLogging', 'Illuminate\Foundation\Bootstrap\HandleExceptions', 'Illuminate\Foundation\Bootstrap\RegisterFacades...'Illuminate\Foundation\Bootstrap\HandleExceptions', 'Illuminate\Foundation\Bootstrap\RegisterFacades...看下RegisterFacades::bootstrap()的源码: public function bootstrap(Application $app) { Facade...注册Facades RegisterFacades;6. 注册Providers RegisterProviders;7. 启动Providers BootProviders。
RegisterFacades 注册Facades 6. RegisterProviders 注册Providers 7.
IlluminateFoundationBootstrapRegisterProvider 而 上面的第一个服务会使用 IlluminateFoundationAliasLoader 加载所有的 alias ,在 AliasLoader 中: // in RegisterFacades
Illuminate\Foundation\Bootstrap\HandleExceptions::class, * 加载异常处理 * \Illuminate\Foundation\Bootstrap\RegisterFacades
\Illuminate\Foundation\Bootstrap\HandleExceptions::class, \Illuminate\Foundation\Bootstrap\RegisterFacades
在讲服务提供者时,Kernel 中有一个 bootstrappers 属性数组,其中有一个 RegisterFacades 提供者。
\Illuminate\Foundation\Bootstrap\HandleExceptions::class, \Illuminate\Foundation\Bootstrap\RegisterFacades...这个我们刚刚分析过; Illuminate\Foundation\Bootstrap\HandleExceptions : 异常处理; Illuminate\Foundation\Bootstrap\RegisterFacades
'Illuminate\Foundation\Bootstrap\HandleExceptions', 'Illuminate\Foundation\Bootstrap\RegisterFacades
领取专属 10元无门槛券
手把手带您无忧上云