PluginProbe
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 3.11.2
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v3.11.2
4.7.3 4.7.2 4.7.1 trunk 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 3.0.0 3.0.1 3.1.0 3.10.0 3.10.1 3.11.1 3.11.2 3.11.3 3.2.0 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 All 93 releases
cookiebot / addons / lib / dependency-container.php

dependency-container.php in Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode 3.11.2, at addons/lib/dependency-container.php

54 lines 963 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace cookiebot_addons\lib;
4
5 use Exception;
6
7 /**
8 * Class Dependency_Container
9 * @package cookiebot_addons\lib
10 */
11 class Dependency_Container {
12
13 /**
14 * @var array
15 */
16 private $dependencies;
17
18 /**
19 * Dependency_Container constructor.
20 *
21 * @param array $dependencies
22 */
23 public function __construct( array $dependencies = array() ) {
24 $this->dependencies = $dependencies;
25 }
26
27 /**
28 * @param $key
29 * @param $dependency
30 *
31 * @throws Exception
32 */
33 public function set( $key, $dependency ) {
34 if ( isset( $this->dependencies[ $key ] ) ) {
35 throw new Exception( 'Dependency key ' . $key . ' already exists' );
36 }
37 $this->dependencies[ $key ] = $dependency;
38 }
39
40 /**
41 * @param $key
42 *
43 * @return mixed
44 * @throws Exception
45 */
46 public function get( $key ) {
47 if ( ! isset( $this->dependencies[ $key ] ) ) {
48 throw new Exception( 'Dependency key ' . $key . ' does not exists' );
49 }
50
51 return $this->dependencies[ $key ];
52 }
53 }
54