private function outputTags(OutputInterface $output, bool $showPrivate = false): void
    {
        $container = $this->getContainer();
        if (! $container instanceof ContainerBuilder) {
            return;
        }
        $tags = $container->findTags();
        asort($tags);

        $label = 'Tagged services';
        $output->writeln($this->getHelper('formatter')->formatSection('container', $label));

        foreach ($tags as $tag) {
            $serviceIds = $container->findTaggedServiceIds($tag);

            foreach ($serviceIds as $serviceId => $attributes) {
                $definition = $this->resolveServiceDefinition($serviceId);
                if ($definition instanceof Definition) {
                    if (!$showPrivate && !$definition->isPublic()) {
                        unset($serviceIds[$serviceId]);
                        continue;
                    }
                }
            }

            if (count($serviceIds) === 0) {
                continue;
            }

            $output->writeln($this->getHelper('formatter')->formatSection('tag', $tag));

            foreach ($serviceIds as $serviceId => $attributes) {
                $output->writeln($serviceId);
            }

            $output->writeln('');
        }
    }
private function outputTags(OutputInterface $output, bool $showPrivate = false): void
    {
        $container = $this->getContainer();
        if (! $container instanceof ContainerBuilder) {
            return;
        }
        $tags = $container->findTags();
        asort($tags);

        $label = 'Tagged services';
        $output->writeln($this->getHelper('formatter')->formatSection('container', $label));

        foreach ($tags as $tag) {
            $serviceIds = $container->findTaggedServiceIds($tag);

            foreach ($serviceIds as $serviceId => $attributes) {
                $definition = $this->resolveServiceDefinition($serviceId);
                if ($definition instanceof Definition) {
                    if (!$showPrivate && !$definition->isPublic()) {
                        unset($serviceIds[$serviceId]);
                        continue;
                    }
                }
            }

            if (count($serviceIds) === 0) {
                continue;
            }

            $output->writeln($this->getHelper('formatter')->formatSection('tag', $tag));

            foreach ($serviceIds as $serviceId => $attributes) {
                $output->writeln($serviceId);
            }

            $output->writeln('');
        }
    }
private function outputTags ( OutputInterface $ output , bool $ showPrivate = false ) : void { $ container = $ this -> getContainer ( ) ; if ( ! $ container instanceof ContainerBuilder ) { return ; } $ tags = $ container -> findTags ( ) ; asort ( $ tags ) ; $ label = 'Tagged services' ; $ output -> writeln ( $ this -> getHelper ( 'formatter' ) -> formatSection ( 'container' , $ label ) ) ; foreach ( $ tags as $ tag ) { $ serviceIds = $ container -> findTaggedServiceIds ( $ tag ) ; foreach ( $ serviceIds as $ serviceId => $ attributes ) { $ definition = $ this -> resolveServiceDefinition ( $ serviceId ) ; if ( $ definition instanceof Definition ) { if ( ! $ showPrivate && ! $ definition -> isPublic ( ) ) { unset ( $ serviceIds [ $ serviceId ] ) ; continue ; } } } if ( count ( $ serviceIds ) === 0 ) { continue ; } $ output -> writeln ( $ this -> getHelper ( 'formatter' ) -> formatSection ( 'tag' , $ tag ) ) ; foreach ( $ serviceIds as $ serviceId => $ attributes ) { $ output -> writeln ( $ serviceId ) ; } $ output -> writeln ( '' ) ; } }
Renders list of tagged services grouped by tag

@param OutputInterface $output
@param bool $showPrivate

@throws \Exception
Renders list of tagged services grouped by tag