PluginProbe
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.7.3
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.7.3
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 / src / lib / Dependency_Container.php

Dependency_Container.php in Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode 4.7.3, at src/lib/Dependency_Container.php

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