* @since 2013 */ namespace Mmoreram\GearmanBundle\DependencyInjection; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpKernel\DependencyInjection\Extension; /** * This is the class that loads and manages your bundle configuration */ class GearmanExtension extends Extension { /** * Loads a specific configuration. * * @param array $config An array of configuration values * @param ContainerBuilder $container A ContainerBuilder instance * * @throws \InvalidArgumentException When provided tag is not defined in this extension * * @api */ public function load(array $config, ContainerBuilder $container) { $configuration = new Configuration(); $config = $this->processConfiguration($configuration, $config); $container->setParameter('gearman.bundles', $config['bundles']); $container->setParameter('gearman.servers', $config['servers']); $container->setParameter('gearman.default.settings', $config['defaults']); $container->setParameter('gearman.default.settings.generate_unique_key', $config['defaults']['generate_unique_key']); $loader = new YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config')); $loader->load('parameters.yml'); $loader->load('services.yml'); } }