PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.8.2
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.8.2
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / Container / Container.php
matomo / app / core / Container Last commit date
Container.php 6 months ago ContainerDoesNotExistException.php 2 years ago ContainerFactory.php 3 months ago IniConfigDefinitionSource.php 3 months ago StaticContainer.php 3 months ago
Container.php
66 lines
1 <?php
2
3 /**
4 * Matomo - free/libre analytics platform
5 *
6 * @link https://matomo.org
7 * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
8 */
9 namespace Piwik\Container;
10
11 use Matomo\Dependencies\DI\Container as DIContainer;
12 use Matomo\Dependencies\DI\Definition\Source\MutableDefinitionSource;
13 use Matomo\Dependencies\DI\Proxy\ProxyFactory;
14 use Piwik\Exception\DI\DependencyException;
15 use Piwik\Exception\DI\NotFoundException;
16 use Matomo\Dependencies\Psr\Container\ContainerInterface;
17 /**
18 * Proxy class for our DI Container
19 * @see DIContainer, ContainerInterface
20 */
21 class Container extends DIContainer implements ContainerInterface
22 {
23 public function __construct(?MutableDefinitionSource $definitionSource = null, ?ProxyFactory $proxyFactory = null, ?ContainerInterface $wrapperContainer = null)
24 {
25 parent::__construct($definitionSource, $proxyFactory, $wrapperContainer);
26 // ensure this container class can be resolved
27 $this->resolvedEntries[self::class] = $this;
28 }
29 /**
30 * @template T of object
31 * @param class-string<T>|string $name Container entry name.
32 * @return ($name is class-string<T> ? T : mixed)
33 */
34 public function get($name)
35 {
36 try {
37 return parent::get($name);
38 } catch (\Matomo\Dependencies\DI\NotFoundException $e) {
39 throw new NotFoundException($e->getMessage(), $e->getCode(), $e);
40 }
41 }
42 /**
43 * @template T of object
44 * @param class-string<T>|string $name Container entry name.
45 * @return ($name is class-string<T> ? T : mixed)
46 */
47 public function make($name, array $parameters = [])
48 {
49 try {
50 return parent::make($name, $parameters);
51 } catch (\Matomo\Dependencies\DI\NotFoundException $e) {
52 throw new NotFoundException($e->getMessage(), $e->getCode(), $e);
53 } catch (\Matomo\Dependencies\DI\DependencyException $e) {
54 throw new DependencyException($e->getMessage(), $e->getCode(), $e);
55 }
56 }
57 public function injectOn($instance)
58 {
59 try {
60 return parent::injectOn($instance);
61 } catch (\Matomo\Dependencies\DI\DependencyException $e) {
62 throw new DependencyException($e->getMessage(), $e->getCode(), $e);
63 }
64 }
65 }
66