/** * @param ContainerBuilder $container * * @return void */ public function prepend(ContainerBuilder $container) { // Build fos_elastica config for each widget $elasticaConfig = []; $kernel = new \AppKernel('prod', false); $yamlParser = new Yaml(); foreach ($kernel->registerBundles() as $bundle) { /* @var Bundle $bundle */ $path = $bundle->getPath(); //If bundle is a widget if (0 === strpos($bundle->getNamespace(), 'Victoire\\Widget\\')) { //find for a fos_elastica.yml config file $widgetConfig = $yamlParser->parse($path . '/Resources/config/config.yml'); if (is_array($widgetConfig)) { foreach ($widgetConfig['victoire_core']['widgets'] as $_widgetConfig) { if (array_key_exists('fos_elastica', $widgetConfig)) { $_config = ['indexes' => ['widgets' => ['types' => [$_widgetConfig['name'] => ['serializer' => ['groups' => ['search']], 'mappings' => [], 'persistence' => ['driver' => 'orm', 'model' => $_widgetConfig['class'], 'provider' => [], 'listener' => [], 'finder' => []]]]]]]; $_config = array_merge_recursive($widgetConfig['fos_elastica'], $_config); $elasticaConfig = array_merge_recursive($elasticaConfig, $_config); } } } } } foreach ($container->getExtensions() as $name => $extension) { switch ($name) { case 'fos_elastica': $container->prependExtensionConfig($name, $elasticaConfig); break; } } }
/** * {@inheritdoc} */ public function load(array $configs, ContainerBuilder $container) { $configuration = new Configuration(); $config = $this->processConfiguration($configuration, $configs); $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config')); $loader->load('services.yml'); $loader->load('forms.yml'); // We instanciate a new kernel and iterate on all it's bundles to load the victoire_core configs $kernel = new \AppKernel('prod', false); foreach ($kernel->registerBundles() as $bundle) { $path = $bundle->getPath(); $yamlParser = new Yaml($container, $path . '/Resources/config/config.yml'); $victoireConfig = $yamlParser->parse($path . '/Resources/config/config.yml'); if (is_array($victoireConfig) && array_key_exists('victoire_core', $victoireConfig)) { $config['widgets'] = array_merge($config['widgets'], $victoireConfig['victoire_core']['widgets'] ?: []); } } $container->setParameter('victoire_core.cache_dir', $config['cache_dir']); $container->setParameter('victoire_core.business_entity_debug', $config['business_entity_debug']); if (array_key_exists('templates', $config)) { $container->setParameter('victoire_core.templates', $config['templates']); } else { $container->setParameter('victoire_core.templates', ''); } $container->setParameter('victoire_core.widgets', $config['widgets']); $container->setParameter('victoire_core.layouts', $config['layouts']); $container->setParameter('victoire_core.slots', $config['slots']); $container->setParameter('victoire_core.user_class', $config['user_class']); $container->setParameter('victoire_core.base_paths', $config['base_paths']); $container->setParameter('victoire_core.base_paths', $config['base_paths']); $container->setParameter('victoire_core.businessTemplates', $config['businessTemplates']); }
public function registerBundles() { $bundles = array(); foreach (parent::registerBundles() as $bundle) { if ($bundle instanceof ClassGeneratorBundle) { break; } $bundles[] = $bundle; } return $bundles; }
/** * @return string[] * @author Maximilian Ruta <*****@*****.**> */ public function getBundles() { require_once $this->console->getAppDir() . '/AppKernel.php'; $input = new ArgvInput(); $env = $input->getParameterOption(array('--env', '-e'), getenv('SYMFONY_ENV') ?: 'dev'); $debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(array('--no-debug', '')) && $env !== 'prod'; $kernel = new \AppKernel($env, $debug); $bundles = $kernel->registerBundles(); $bundleMap = []; foreach ($bundles as $bundle) { $reflector = new \ReflectionClass($bundle); $bundlePath = dirname($reflector->getFileName()); $bundleMap[$bundle->getName()] = $bundlePath; } return $bundleMap; }
public function registerBundles() { return array_merge(parent::registerBundles(), array(new Doctrine\Bundle\PHPCRBundle\DoctrinePHPCRBundle())); }
/** * {@inheritdoc} */ public function registerBundles() { $bundles = array(new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(), new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle(), new Sylius\Bundle\FixturesBundle\SyliusFixturesBundle()); return array_merge(parent::registerBundles(), $bundles); }
public function registerBundles() { return array_merge(parent::registerBundles(), array(new Hautelook\AliceBundle\HautelookAliceBundle())); }
/** * {@inheritdoc} */ public function registerBundles() { return array_merge(parent::registerBundles(), array()); }