<?php
declare(strict_types=1);
/*
*
* This file is part of the PEC Platform UserBundle.
*
* (c) PEC project engineers & consultants
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Pec\Bundle\UserBundle;
use Pec\Bundle\UserBundle\Service\UserService\UserService;
use Pec\Bundle\UserBundle\Service\UserService\UserServiceInterface;
use Symfony\Component\DependencyInjection\Argument\TaggedIteratorArgument;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\HttpKernel\Bundle\Bundle;
use function Symfony\Component\DependencyInjection\Loader\Configurator\tagged_iterator;
/**
* The Risk Bundle allows the management of risks, their configurations (different impacts in terms of costs, quality and delay) and
* measures for eliminating risks or at least for lowering their impact.
*/
class PecUserBundle extends Bundle {
public static function getRequiredBundles(string $env, array &$requiredBundles = []): array {
if(isset($requiredBundles['PecUserBundle'])) {
return $requiredBundles;
}
$requiredBundles['PecUserBundle'] = '\Pec\Bundle\UserBundle\PecUserBundle';
$requiredBundles['MetaclassFilterBundle'] = 'Metaclass\FilterBundle\MetaclassFilterBundle';
return $requiredBundles;
}
public function build(ContainerBuilder $container) {
$container->registerForAutoconfiguration(UserServiceInterface::class)->addTag(UserServiceInterface::TAG);
$container->register(UserService::class)->clearTags()->setAutowired(true)->setArgument(0, new TaggedIteratorArgument(UserServiceInterface::TAG));
}
}