SetMetadataDriversPass.php 712 B

123456789101112131415161718192021222324
  1. <?php
  2. namespace JMS\SerializerBundle\DependencyInjection\Compiler;
  3. use Symfony\Component\DependencyInjection\Reference;
  4. use Symfony\Component\DependencyInjection\ContainerBuilder;
  5. use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
  6. class SetMetadataDriversPass implements CompilerPassInterface
  7. {
  8. public function process(ContainerBuilder $container)
  9. {
  10. $drivers = array();
  11. foreach ($container->findTaggedServiceIds('jms_serializer.metadata_driver') as $id => $attr) {
  12. $drivers[] = new Reference($id);
  13. }
  14. $container
  15. ->getDefinition('jms_serializer.metadata.chain_driver')
  16. ->addArgument($drivers)
  17. ;
  18. }
  19. }