3 use Symfony\Component\DependencyInjection\ContainerBuilder;
4 use Symfony\Component\DependencyInjection\Definition;
5 use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
7 class ProjectExtension implements ExtensionInterface
9 public function load(array $configs, ContainerBuilder $configuration)
11 $configuration->setParameter('project.configs', $configs);
12 $configs = array_filter($configs);
15 $config = call_user_func_array('array_merge', $configs);
20 $configuration->setDefinition('project.service.bar', new Definition('FooClass'));
21 $configuration->setParameter('project.parameter.bar', isset($config['foo']) ? $config['foo'] : 'foobar');
23 $configuration->setDefinition('project.service.foo', new Definition('FooClass'));
24 $configuration->setParameter('project.parameter.foo', isset($config['foo']) ? $config['foo'] : 'foobar');
26 return $configuration;
29 public function getXsdValidationBasePath()
34 public function getNamespace()
36 return 'http://www.example.com/schema/project';
39 public function getAlias()
44 public function getConfiguration(array $config, ContainerBuilder $container)