ApiPlatform\Core\Bridge\Symfony\Bundle\DependencyInjection\Compiler\DataProviderPass::registerDataProviders PHP Method

registerDataProviders() private method

The priority sorting algorithm has been backported from Symfony 3.2.
See also: https://github.com/symfony/symfony/blob/master/src/Symfony/Component/DependencyInjection/Compiler/PriorityTaggedServiceTrait.php
private registerDataProviders ( ContainerBuilder $container, string $type )
$container Symfony\Component\DependencyInjection\ContainerBuilder
$type string
    private function registerDataProviders(ContainerBuilder $container, string $type)
    {
        $services = $container->findTaggedServiceIds('api_platform.' . $type . '_data_provider');
        $queue = new \SplPriorityQueue();
        foreach ($services as $serviceId => $tags) {
            foreach ($tags as $attributes) {
                $priority = $attributes['priority'] ?? 0;
                $queue->insert(new Reference($serviceId), $priority);
            }
        }
        $container->getDefinition('api_platform.' . $type . '_data_provider')->addArgument(iterator_to_array($queue, false));
    }