GearmanExtension.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /**
  3. * Gearman Bundle for Symfony2
  4. *
  5. * @author Marc Morera <yuhu@mmoreram.com>
  6. * @since 2013
  7. */
  8. namespace Mmoreram\GearmanBundle\DependencyInjection;
  9. use Symfony\Component\Config\FileLocator;
  10. use Symfony\Component\DependencyInjection\Loader;
  11. use Symfony\Component\DependencyInjection\ContainerBuilder;
  12. use Symfony\Component\HttpKernel\DependencyInjection\Extension;
  13. /**
  14. * This is the class that loads and manages your bundle configuration
  15. *
  16. * To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html}
  17. */
  18. class GearmanExtension extends Extension
  19. {
  20. /**
  21. * Loads a specific configuration.
  22. *
  23. * @param array $config An array of configuration values
  24. * @param ContainerBuilder $container A ContainerBuilder instance
  25. *
  26. * @throws \InvalidArgumentException When provided tag is not defined in this extension
  27. *
  28. * @api
  29. */
  30. public function load(array $config, ContainerBuilder $container)
  31. {
  32. $configuration = new Configuration();
  33. $config = $this->processConfiguration($configuration, $config);
  34. $container->setParameter('gearman.bundles', $config['bundles']);
  35. $container->setParameter('gearman.servers', $config['servers']);
  36. $container->setParameter('gearman.default.settings', $config['defaults']);
  37. $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
  38. $loader->load('parameters.yml');
  39. $loader->load('services.yml');
  40. }
  41. }