/** * Inject a module into available configuration. * * @param string $package Package name * @param string $module Module to install in configuration * @param Injector\InjectorInterface $injector Injector to use. * @param int $packageType * @return void */ private function injectModuleIntoConfig($package, $module, Injector\InjectorInterface $injector, $packageType) { $this->io->write(sprintf('<info>Installing %s from package %s</info>', $module, $package)); $injector->inject($module, $packageType, $this->io); }
/** * Cache an injector for later use. * * @param Injector\InjectorInterface $injector * @parram int[] $packageTypes * @return void */ private function cacheInjector(Injector\InjectorInterface $injector) { foreach ($injector->getTypesAllowed() as $type) { if (isset($this->cachedInjectors[$type])) { continue; } $this->cachedInjectors[$type] = $injector; } }
/** * Cache an injector for later use. * * @param Injector\InjectorInterface $injector * @return void */ private function cacheInjector(Injector\InjectorInterface $injector) { Collection::create($injector->getTypesAllowed())->reject(function ($type) { return isset($this->cachedInjectors[$type]); })->each(function ($type) use($injector) { $this->cachedInjectors[$type] = $injector; }); }