REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 4.42 KB
Close
/opt/cpanel/ea-wappspector/vendor/php-di/php-di/src/Definition/Resolver/ResolverDispatcher.php
Text
Base64
<?php declare(strict_types=1); namespace DI\Definition\Resolver; use DI\Definition\ArrayDefinition; use DI\Definition\DecoratorDefinition; use DI\Definition\Definition; use DI\Definition\EnvironmentVariableDefinition; use DI\Definition\Exception\InvalidDefinition; use DI\Definition\FactoryDefinition; use DI\Definition\InstanceDefinition; use DI\Definition\ObjectDefinition; use DI\Definition\SelfResolvingDefinition; use DI\Proxy\ProxyFactoryInterface; use Psr\Container\ContainerInterface; /** * Dispatches to more specific resolvers. * * Dynamic dispatch pattern. * * @since 5.0 * @author Matthieu Napoli <matthieu@mnapoli.fr> * * @psalm-suppress MissingTemplateParam */ class ResolverDispatcher implements DefinitionResolver { private ?ArrayResolver $arrayResolver = null; private ?FactoryResolver $factoryResolver = null; private ?DecoratorResolver $decoratorResolver = null; private ?ObjectCreator $objectResolver = null; private ?InstanceInjector $instanceResolver = null; private ?EnvironmentVariableResolver $envVariableResolver = null; public function __construct( private ContainerInterface $container, private ProxyFactoryInterface $proxyFactory, ) { } /** * Resolve a definition to a value. * * @param Definition $definition Object that defines how the value should be obtained. * @param array $parameters Optional parameters to use to build the entry. * * @return mixed Value obtained from the definition. * @throws InvalidDefinition If the definition cannot be resolved. */ public function resolve(Definition $definition, array $parameters = []) : mixed { // Special case, tested early for speed if ($definition instanceof SelfResolvingDefinition) { return $definition->resolve($this->container); } $definitionResolver = $this->getDefinitionResolver($definition); return $definitionResolver->resolve($definition, $parameters); } public function isResolvable(Definition $definition, array $parameters = []) : bool { // Special case, tested early for speed if ($definition instanceof SelfResolvingDefinition) { return $definition->isResolvable($this->container); } $definitionResolver = $this->getDefinitionResolver($definition); return $definitionResolver->isResolvable($definition, $parameters); } /** * Returns a resolver capable of handling the given definition. * * @throws \RuntimeException No definition resolver was found for this type of definition. */ private function getDefinitionResolver(Definition $definition) : DefinitionResolver { switch (true) { case $definition instanceof ObjectDefinition: if (! $this->objectResolver) { $this->objectResolver = new ObjectCreator($this, $this->proxyFactory); } return $this->objectResolver; case $definition instanceof DecoratorDefinition: if (! $this->decoratorResolver) { $this->decoratorResolver = new DecoratorResolver($this->container, $this); } return $this->decoratorResolver; case $definition instanceof FactoryDefinition: if (! $this->factoryResolver) { $this->factoryResolver = new FactoryResolver($this->container, $this); } return $this->factoryResolver; case $definition instanceof ArrayDefinition: if (! $this->arrayResolver) { $this->arrayResolver = new ArrayResolver($this); } return $this->arrayResolver; case $definition instanceof EnvironmentVariableDefinition: if (! $this->envVariableResolver) { $this->envVariableResolver = new EnvironmentVariableResolver($this); } return $this->envVariableResolver; case $definition instanceof InstanceDefinition: if (! $this->instanceResolver) { $this->instanceResolver = new InstanceInjector($this, $this->proxyFactory); } return $this->instanceResolver; default: throw new \RuntimeException('No definition resolver was configured for definition of type ' . $definition::class); } } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 9
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
ArrayResolver.php
1.95 KB
lrw-r--r--
2025-08-16 11:10:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DecoratorResolver.php
2.19 KB
lrw-r--r--
2025-08-16 11:10:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DefinitionResolver.php
1.22 KB
lrw-r--r--
2025-08-16 11:10:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
EnvironmentVariableResolver.php
1.82 KB
lrw-r--r--
2025-08-16 11:10:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
FactoryResolver.php
3.67 KB
lrw-r--r--
2025-08-16 11:10:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
InstanceInjector.php
1.36 KB
lrw-r--r--
2025-08-16 11:10:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ObjectCreator.php
6.70 KB
lrw-r--r--
2025-08-16 11:10:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ParameterResolver.php
3.53 KB
lrw-r--r--
2025-08-16 11:10:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ResolverDispatcher.php
4.42 KB
lrw-r--r--
2025-08-16 11:10:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).