PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 3.8.1
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v3.8.1
4.9.2 4.9.1 4.9.0 4.8.2 4.8.1 4.8.0 4.7.0 4.6.2 4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 4.5.1 4.5.0 4.4.1 4.4.0 3.3.4 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 All 200 releases
betterdocs / includes / Dependencies / DI / Definition / Resolver / InstanceInjector.php

InstanceInjector.php in BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot 3.8.1, at includes/Dependencies/DI/Definition/Resolver/InstanceInjector.php

47 lines 1.3 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 WPDeveloper\BetterDocs\Dependencies\DI\Definition\Resolver;
6
7 use WPDeveloper\BetterDocs\Dependencies\DI\Definition\Definition;
8 use WPDeveloper\BetterDocs\Dependencies\DI\Definition\InstanceDefinition;
9 use WPDeveloper\BetterDocs\Dependencies\DI\DependencyException;
10 use WPDeveloper\BetterDocs\Dependencies\Psr\Container\NotFoundExceptionInterface;
11
12 /**
13 * Injects dependencies on an existing instance.
14 *
15 * @since 5.0
16 * @author Matthieu Napoli <matthieu@mnapoli.fr>
17 */
18 class InstanceInjector extends ObjectCreator
19 {
20 /**
21 * Injects dependencies on an existing instance.
22 *
23 * @param InstanceDefinition $definition
24 *
25 * {@inheritdoc}
26 */
27 public function resolve(Definition $definition, array $parameters = [])
28 {
29 try {
30 $this->injectMethodsAndProperties($definition->getInstance(), $definition->getObjectDefinition());
31 } catch (NotFoundExceptionInterface $e) {
32 $message = sprintf(
33 'Error while injecting dependencies into %s: %s',
34 get_class($definition->getInstance()),
35 $e->getMessage()
36 );
37
38 throw new DependencyException($message, 0, $e);
39 }
40 }
41
42 public function isResolvable(Definition $definition, array $parameters = []) : bool
43 {
44 return true;
45 }
46 }
47