Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
cpanel
/
ea-wappspector
/
vendor
/
php-di
/
php-di
/
src
/
Definition
/
Resolver
/
Filename :
InstanceInjector.php
back
Copy
<?php declare(strict_types=1); namespace DI\Definition\Resolver; use DI\Definition\Definition; use DI\Definition\InstanceDefinition; use DI\DependencyException; use Psr\Container\NotFoundExceptionInterface; /** * Injects dependencies on an existing instance. * * @template-implements DefinitionResolver<InstanceDefinition> * * @since 5.0 * @author Matthieu Napoli <matthieu@mnapoli.fr> */ class InstanceInjector extends ObjectCreator implements DefinitionResolver { /** * Injects dependencies on an existing instance. * * @param InstanceDefinition $definition * @psalm-suppress ImplementedParamTypeMismatch */ public function resolve(Definition $definition, array $parameters = []) : ?object { /** @psalm-suppress InvalidCatch */ try { $this->injectMethodsAndProperties($definition->getInstance(), $definition->getObjectDefinition()); } catch (NotFoundExceptionInterface $e) { $message = sprintf( 'Error while injecting dependencies into %s: %s', get_class($definition->getInstance()), $e->getMessage() ); throw new DependencyException($message, 0, $e); } return $definition; } public function isResolvable(Definition $definition, array $parameters = []) : bool { return true; } }