Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/mautic.corals.io/vendor/jms/serializer-bundle/DependencyInjection/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/mautic.corals.io/vendor/jms/serializer-bundle/DependencyInjection/ScopedContainer.php
<?php

declare(strict_types=1);

namespace JMS\SerializerBundle\DependencyInjection;

use Symfony\Component\DependencyInjection\Alias;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;

final class ScopedContainer
{
    private $container;
    private $instance;

    public function __construct(ContainerBuilder $container, string $instance)
    {
        $this->container = $container;
        $this->instance = $instance;
        $container->setAlias('jms_serializer.instances.' . $instance, new Alias($this->getDefinitionRealId('jms_serializer.serializer'), true));
    }

    public function getInstanceName(): string
    {
        return $this->instance;
    }

    public function removeDefinition($id)
    {
        $this->container->removeDefinition($this->getDefinitionRealId($id));
    }

    public function register(string $id, ?string $class = null)
    {
        return $this->setDefinition($id, new Definition($class));
    }

    public function findDefinition(string $id): Definition
    {
        return $this->container->findDefinition($this->getDefinitionRealId($id));
    }

    public function findTaggedServiceIds($tag): array
    {
        $serviceIds = [];
        foreach ($this->container->findTaggedServiceIds($tag) as $id => $tags) {
            $def = $this->container->findDefinition($id);

            if ($def->hasTag('jms_serializer.instance')) {
                if ($def->getTag('jms_serializer.instance')[0]['name'] !== $this->instance) {
                    continue;
                }
            }

            foreach ($tags as $attributes) {
                if (empty($attributes['instance']) || $attributes['instance'] === $this->instance) {
                    $serviceIds[$id][] = $attributes;
                }
            }
        }

        return $serviceIds;
    }

    private function getDefinitionRealId(string $id): string
    {
        return DIUtils::getRealId($this->instance, $id);
    }

    public function getDefinition($id): Definition
    {
        return $this->container->getDefinition($this->getDefinitionRealId($id));
    }

    public function removeAlias(string $alias)
    {
        $this->container->removeAlias($this->getDefinitionRealId($alias));
    }

    public function setAlias(string $alias, $id)
    {
        if (is_string($id)) {
            $id = new Alias($id);
        }

        $alias = $this->getDefinitionRealId($alias);

        $id = new Alias($this->getDefinitionRealId((string) $id), $id->isPublic());

        return $this->container->setAlias($alias, $id);
    }

    public function __call($name, $args)
    {
        return call_user_func_array([$this->container, $name], $args);
    }
}

Spamworldpro Mini