/** * Register deferred service provider. * * @param string $provider * @param \Illuminate\Support\ServiceProvider $instance * * @return void */ protected function registerDeferredServiceProvider($provider, ServiceProvider $instance) { $deferred = []; foreach ($instance->provides() as $provide) { $deferred[$provide] = $provider; } return ['instance' => $instance, 'eager' => false, 'when' => $instance->when(), 'deferred' => $deferred]; }
/** * @return array */ public function provides() { return static::IOC_NAME ? array_merge(parent::provides(), [static::IOC_NAME]) : parent::provides(); }