PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 4.9.2
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v4.9.2
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 4.9.2, at includes/Dependencies/DI/Definition/Resolver/InstanceInjector.php

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