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 $config = call_user_func_array('array_merge', $configs);
13 $configuration->setDefinition('project.service.bar', new Definition('FooClass'));
14 $configuration->setParameter('project.parameter.bar', isset($config['foo']) ? $config['foo'] : 'foobar');
16 $configuration->setDefinition('project.service.foo', new Definition('FooClass'));
17 $configuration->setParameter('project.parameter.foo', isset($config['foo']) ? $config['foo'] : 'foobar');
19 return $configuration;
22 public function getXsdValidationBasePath()
27 public function getNamespace()
29 return 'http://www.example.com/schema/project';
32 public function getAlias()
37 public function getConfiguration(array $config, ContainerBuilder $container)