Example #1
0
 /**
  * @param ApplicationInterface|Application $application
  */
 private function registerModuleManager(ApplicationInterface $application)
 {
     $container = $application->getContainer();
     if (!$container->has(ModuleManagerInterface::class)) {
         $container->share(ModuleManagerInterface::class, $container->get('application.internal.moduleManager', [$application]));
     }
 }
Example #2
0
 /**
  * Create configurator instance with configuration from internal configurator
  *
  * @param ApplicationInterface|Application $application
  * @param ComponentManager $runner
  *
  * @return bool
  *
  */
 public function init(ApplicationInterface $application, ComponentManager $runner)
 {
     $options = ['cache' => false];
     $data = $runner->getData();
     $configuration = isset($data['config']) ? $data['config'] : [];
     $options = $runner->getOptions($this);
     foreach ($configuration as $key => $file) {
         if (is_array($file)) {
             unset($configuration[$key]);
             continue;
         }
         if (!is_file($file)) {
             unset($configuration[$key]);
         }
     }
     $application->getContainer()->share(ConfiguratorInterface::class, $application->getContainer()->get('application.internal.config', [$configuration, $options]));
     return true;
 }
Example #3
0
 /**
  * Initialize dot env files from configuration
  *
  * ```
  * $options['config'] = [
  *      __DIR__ . '/.env',
  *      __DIR__ . '/customfile.env',
  * ];
  * ```
  *
  * @param Application|ApplicationInterface $application
  * @param ComponentManager $runner
  * @return bool
  */
 public function init(ApplicationInterface $application, ComponentManager $runner)
 {
     $data = $runner->getData();
     if (!array_key_exists('config', $data)) {
         return false;
     }
     $configuration = $data['config'];
     foreach ($configuration as $key => $path) {
         if (!is_string($path)) {
             continue;
         }
         if (substr($path, -4) !== '.env') {
             continue;
         }
         $application->getContainer()->get(Dotenv::class, [dirname($path), basename($path)]);
         unset($data['config'][$key]);
     }
     $runner->setData($data);
     return true;
 }
Example #4
0
 /**
  * @param ApplicationInterface|Application $application
  */
 public function register(ApplicationInterface $application)
 {
     $logger = $application->getLogger(static::class);
     $sortedProviders = (new Dependency\Sort())->sort($this->components);
     $iterator = new \ArrayIterator($sortedProviders);
     //go to top
     $iterator->rewind();
     while ($iterator->valid()) {
         /** @var Component $component */
         $component = $iterator->current();
         $result = $component->init($application, $this);
         $providerName = $iterator->key();
         $result ? $logger->debug($providerName) : $logger->error($providerName);
         $this->setPrevious($component);
         $iterator->next();
     }
 }
Example #5
0
 /**
  * Initialize application provider
  *
  * @param ApplicationInterface|Application $application
  * @param ComponentManager $runner
  *
  * @return bool
  *
  */
 public function init(ApplicationInterface $application, ComponentManager $runner)
 {
     $application->getContainer()->addServiceProvider(ApplicationProvider::class);
     return true;
 }
Example #6
0
 /**
  * Initialize default translations
  *
  * ```
  * return [
  *      'translations' => [
  *          'defaultLanguage' => 'en',
  *          'collection' => [
  *               '<languagekey>' => []
  *          ]
  *      ]
  * ];
  * ```
  *
  * @param ApplicationInterface|Application $application
  * @param ComponentManager $runner
  *
  * @return bool
  *
  */
 public function init(ApplicationInterface $application, ComponentManager $runner)
 {
     $application->addTranslation('user', $application->getConfig('translations.collection', []));
     return true;
 }