hasDefinition('drupal.drupal')) { return; } $drupalDefinition = $container->getDefinition('drupal.drupal'); foreach ($container->findTaggedServiceIds('drupal.driver') as $id => $attributes) { foreach ($attributes as $attribute) { if (isset($attribute['alias']) && $name = $attribute['alias']) { $drupalDefinition->addMethodCall( 'registerDriver', array($name, new Reference($id)) ); } } // If this is Drupal Driver, then a core controller needs to be // instantiated as well. if ('drupal.driver.drupal' === $id) { $drupalDriverDefinition = $container->getDefinition($id); $availableCores = array(); foreach ($container->findTaggedServiceIds('drupal.core') as $coreId => $coreAttributes) { foreach ($coreAttributes as $attribute) { if (isset($attribute['alias']) && $name = $attribute['alias']) { $availableCores[$name] = $container->getDefinition($coreId); } } } $drupalDriverDefinition->addMethodCall( 'setCore', array($availableCores) ); } } $drupalDefinition->addMethodCall( 'setDefaultDriverName', array($container->getParameter('drupal.drupal.default_driver')) ); } }