PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / trunk
Matomo Analytics – Powerful, Privacy-First Insights for WordPress vtrunk
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 1 month ago IniConfigDefinitionSource.php 3 months ago StaticContainer.php 1 month 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