ProjectExtension.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. use Symfony\Components\DependencyInjection\BuilderConfiguration;
  3. use Symfony\Components\DependencyInjection\Definition;
  4. use Symfony\Components\DependencyInjection\Loader\LoaderExtension;
  5. class ProjectExtension extends LoaderExtension
  6. {
  7. public function barLoad(array $config, BuilderConfiguration $configuration)
  8. {
  9. $configuration->setDefinition('project.service.bar', new Definition('FooClass'));
  10. $configuration->setParameter('project.parameter.bar', isset($config['foo']) ? $config['foo'] : 'foobar');
  11. $configuration->setDefinition('project.service.foo', new Definition('FooClass'));
  12. $configuration->setParameter('project.parameter.foo', isset($config['foo']) ? $config['foo'] : 'foobar');
  13. return $configuration;
  14. }
  15. public function getXsdValidationBasePath()
  16. {
  17. return false;
  18. }
  19. public function getNamespace()
  20. {
  21. return 'http://www.example.com/schema/project';
  22. }
  23. public function getAlias()
  24. {
  25. return 'project';
  26. }
  27. }