/** * 类文件缓存 * * @param loader */ public function doBootstrap($loader) { $this->setServiceProviders(); if (Config::get('app::environment') == "prod" && is_file("runtime/cache/bootstrap.class.cache")) { require "runtime/cache/bootstrap.class.cache"; return; } $bootstrapClass = new BootstrapClass($loader); foreach ($this->serviceProviders as $serviceProvider) { $bootstrapClass->setClass($serviceProvider); } foreach ($this->bootstraps as $bootstrap) { $bootstrap = isset($this->aliases[$bootstrap]) ? $this->aliases[$bootstrap] : $bootstrap; $bootstrapClass->setClass($bootstrap); } $bootstrapClass->bootstrap(); }
/** * 缓存类文件 * * @param loader * @param jobs */ private function bootstrapClass($loader, $jobs) { $classCache = new BootstrapClass($loader, $this->classCache); foreach ($jobs as $job) { foreach ($job as $handerClass => $value) { $classCache->setClass($handerClass); } } $classCache->bootstrap(); require $this->classCache; }
/** * 缓存类文件 * */ private function bootstrapClass() { $classCache = new BootstrapClass($this->loader, $this->classCache); foreach ($this->jobs as $job) { $classCache->setClass($job['command']); } $classCache->bootstrap(); require $this->classCache; }