PluginProbe
Defender Security – Malware Scanner, Login Security & Firewall / 5.7.2
Defender Security – Malware Scanner, Login Security & Firewall v5.7.2
6.3.0 6.2.3 6.2.4 6.2.0 6.2.1 6.2.2 6.1.0 5.3.1 5.4.0 5.4.1 5.5.0 5.5.1 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.7.2 5.8.0 5.8.1 5.9.0 6.0.0 6.0.1 3.0.1 3.1.0 All 141 releases
defender-security / lib / packages / DI / Definition / Resolver / InstanceInjector.php

InstanceInjector.php in Defender Security – Malware Scanner, Login Security & Firewall 5.7.2, at lib/packages/DI/Definition/Resolver/InstanceInjector.php

51 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace WPMU_DEV\Defender\Vendor\DI\Definition\Resolver;
6
7 use WPMU_DEV\Defender\Vendor\DI\Definition\Definition;
8 use WPMU_DEV\Defender\Vendor\DI\Definition\InstanceDefinition;
9 use WPMU_DEV\Defender\Vendor\DI\DependencyException;
10 use WPMU_DEV\Defender\Vendor\Psr\Container\NotFoundExceptionInterface;
11
12 /**
13 * Injects dependencies on an existing instance.
14 *
15 * @template-implements DefinitionResolver<InstanceDefinition>
16 *
17 * @since 5.0
18 * @author Matthieu Napoli <[email protected]>
19 */
20 class InstanceInjector extends ObjectCreator implements DefinitionResolver
21 {
22 /**
23 * Injects dependencies on an existing instance.
24 *
25 * @param InstanceDefinition $definition
26 * @psalm-suppress ImplementedParamTypeMismatch
27 */
28 public function resolve(Definition $definition, array $parameters = []) : ?object
29 {
30 /** @psalm-suppress InvalidCatch */
31 try {
32 $this->injectMethodsAndProperties($definition->getInstance(), $definition->getObjectDefinition());
33 } catch (NotFoundExceptionInterface $e) {
34 $message = sprintf(
35 'Error while injecting dependencies into %s: %s',
36 get_class($definition->getInstance()),
37 $e->getMessage()
38 );
39
40 throw new DependencyException($message, 0, $e);
41 }
42
43 return $definition;
44 }
45
46 public function isResolvable(Definition $definition, array $parameters = []) : bool
47 {
48 return true;
49 }
50 }
51