* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\DependencyInjection\Compiler; use Symfony\Component\DependencyInjection\Alias; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; /** * Sets a service to be an alias of another one, given a format pattern. */ class AutoAliasServicePass implements CompilerPassInterface { /** * {@inheritdoc} */ public function process(ContainerBuilder $container) { foreach ($container->findTaggedServiceIds('auto_alias') as $serviceId => $tags) { foreach ($tags as $tag) { if (!isset($tag['format'])) { throw new InvalidArgumentException(sprintf('Missing tag information "format" on auto_alias service "%s".', $serviceId)); } $aliasId = $container->getParameterBag()->resolveValue($tag['format']); if ($container->hasDefinition($aliasId) || $container->hasAlias($aliasId)) { $container->setAlias($serviceId, new Alias($aliasId, true)); } } } } } __halt_compiler();----SIGNATURE:----qoipsKo04iBwwVfcvImBB2KjVn4024Fd7H9t93IhUez2t9ja/q4jVAjuVLN1QFSfrCjdlRojcS54xQXMSRDdrMBgyCgjD/8KBZHifUJiEaRZRX+G4a396/b+tYk6wyDpUOEm1jRAjuSCVHWL2kApSE7CAvt6yWkbM9MPO3gaUfjU5lxX8wYhAExV2QaIdSj9Qx5qKEbUFo66kBv3RN7YPWVSe7w73h3Qq8lBZptGVlLJxpfGdUasV8leLUxa1rmmPQDTvP2DA/YbOI5RszQFcUVpzF0T2qoXOV/vVLBQUGiSsCCOQJwQ4T5/W+8E2RgOwuEBf4cEEDUmiHHTl5FUe+XteRRUub62CS9eryVr1Vlwv56nrR/0QuLg6ZM1ANKbVLMSJ9PIMeDrE6y5YUcGg/kF2boXihX4q21sEQwAvDuXKfGhAbkyGf1629WZavYSLiXixPpeOdwDaFNoJ0nhsBpEVaBoexVDDY0dXDYTOIrAqB9oXQ2MXhdZtg4HaMI+uuFbGF1mPpiLHp9weEfqIwPrhjd/kmjWWlYauOP55s/IPUq+Qg3o8Um/DLIcFtjinKEScSw/i/KhqM1hf9QNw654pXxH8TxaBx2BWwyCLfczx5tXQfFqdPDs41ICBLRLEpIZgUDjZu4O2cGKHL63vVkf7et0nSQzKTQdy5E7x1I=----ATTACHMENT:----ODg5NDM2MTgxODM3ODQzMSAzMzgwODI2NDQ4MDkzMDQ4IDM0NTUyNTk5Njg5NjY1Nzg=