Completed
Pull Request — master (#378)
by Darren
13:45
created
core/services/bootstrap/BootstrapDependencyInjectionContainer.php 1 patch
Indentation   +119 added lines, -119 removed lines patch added patch discarded remove patch
@@ -25,123 +25,123 @@
 block discarded – undo
25 25
 class BootstrapDependencyInjectionContainer
26 26
 {
27 27
 
28
-    /**
29
-     * @var EE_Dependency_Map $dependency_map
30
-     */
31
-    protected $dependency_map;
32
-
33
-    /**
34
-     * @type LoaderInterface $loader
35
-     */
36
-    protected $loader;
37
-
38
-    /**
39
-     * @var EE_Registry $registry
40
-     */
41
-    protected $registry;
42
-
43
-    /**
44
-     * @var ClassInterfaceCache $class_cache
45
-     */
46
-    private $class_cache;
47
-
48
-    /**
49
-     * @var Mirror
50
-     */
51
-    private $mirror;
52
-
53
-    /**
54
-     * @var ObjectIdentifier
55
-     */
56
-    private $object_identifier;
57
-
58
-
59
-    /**
60
-     * Can't use this just yet until we exorcise some more of our singleton usage from core
61
-     */
62
-    public function buildDependencyInjectionContainer()
63
-    {
64
-        // build DI container
65
-        // $OpenCoffeeShop = new EventEspresso\core\services\container\OpenCoffeeShop();
66
-        // $OpenCoffeeShop->addRecipes();
67
-        // $CoffeeShop = $OpenCoffeeShop->CoffeeShop();
68
-    }
69
-
70
-
71
-    /**
72
-     * Setups  EE_Registry and EE_Dependency_Map
73
-     *
74
-     * @throws EE_Error
75
-     */
76
-    public function buildLegacyDependencyInjectionContainer()
77
-    {
78
-        $this->class_cache = new ClassInterfaceCache();
79
-        $this->object_identifier = new ObjectIdentifier($this->class_cache);
80
-        $this->mirror = new Mirror();
81
-        // EE_Dependency_Map: info about how to load classes required by other classes
82
-        espresso_load_required(
83
-            'EE_Dependency_Map',
84
-            EE_CORE . 'EE_Dependency_Map.core.php'
85
-        );
86
-        $this->dependency_map = EE_Dependency_Map::instance($this->class_cache);
87
-        // EE_Registry: central repository for classes (legacy)
88
-        espresso_load_required(
89
-            'EE_Registry',
90
-            EE_CORE . 'EE_Registry.core.php'
91
-        );
92
-        $this->registry = EE_Registry::instance(
93
-            $this->dependency_map,
94
-            $this->mirror,
95
-            $this->class_cache,
96
-            $this->object_identifier
97
-        );
98
-    }
99
-
100
-
101
-    /**
102
-     * Performs initial setup for the generic Loader
103
-     *
104
-     * @throws InvalidDataTypeException
105
-     * @throws InvalidInterfaceException
106
-     * @throws InvalidArgumentException
107
-     */
108
-    public function buildLoader()
109
-    {
110
-        $this->loader = LoaderFactory::getLoader(
111
-            $this->registry,
112
-            $this->class_cache,
113
-            $this->object_identifier
114
-        );
115
-        $this->loader->share('EventEspresso\core\services\loaders\ClassInterfaceCache', $this->class_cache);
116
-        $this->loader->share('EventEspresso\core\services\loaders\ObjectIdentifier', $this->object_identifier);
117
-        $this->loader->share('EventEspresso\core\services\container\Mirror', $this->mirror);
118
-        $this->dependency_map->setLoader($this->loader);
119
-    }
120
-
121
-
122
-    /**
123
-     * @return EE_Dependency_Map
124
-     */
125
-    public function getDependencyMap()
126
-    {
127
-        return $this->dependency_map;
128
-    }
129
-
130
-
131
-    /**
132
-     * @return EE_Registry
133
-     */
134
-    public function getRegistry()
135
-    {
136
-        return $this->registry;
137
-    }
138
-
139
-
140
-    /**
141
-     * @return LoaderInterface
142
-     */
143
-    public function getLoader()
144
-    {
145
-        return $this->loader;
146
-    }
28
+	/**
29
+	 * @var EE_Dependency_Map $dependency_map
30
+	 */
31
+	protected $dependency_map;
32
+
33
+	/**
34
+	 * @type LoaderInterface $loader
35
+	 */
36
+	protected $loader;
37
+
38
+	/**
39
+	 * @var EE_Registry $registry
40
+	 */
41
+	protected $registry;
42
+
43
+	/**
44
+	 * @var ClassInterfaceCache $class_cache
45
+	 */
46
+	private $class_cache;
47
+
48
+	/**
49
+	 * @var Mirror
50
+	 */
51
+	private $mirror;
52
+
53
+	/**
54
+	 * @var ObjectIdentifier
55
+	 */
56
+	private $object_identifier;
57
+
58
+
59
+	/**
60
+	 * Can't use this just yet until we exorcise some more of our singleton usage from core
61
+	 */
62
+	public function buildDependencyInjectionContainer()
63
+	{
64
+		// build DI container
65
+		// $OpenCoffeeShop = new EventEspresso\core\services\container\OpenCoffeeShop();
66
+		// $OpenCoffeeShop->addRecipes();
67
+		// $CoffeeShop = $OpenCoffeeShop->CoffeeShop();
68
+	}
69
+
70
+
71
+	/**
72
+	 * Setups  EE_Registry and EE_Dependency_Map
73
+	 *
74
+	 * @throws EE_Error
75
+	 */
76
+	public function buildLegacyDependencyInjectionContainer()
77
+	{
78
+		$this->class_cache = new ClassInterfaceCache();
79
+		$this->object_identifier = new ObjectIdentifier($this->class_cache);
80
+		$this->mirror = new Mirror();
81
+		// EE_Dependency_Map: info about how to load classes required by other classes
82
+		espresso_load_required(
83
+			'EE_Dependency_Map',
84
+			EE_CORE . 'EE_Dependency_Map.core.php'
85
+		);
86
+		$this->dependency_map = EE_Dependency_Map::instance($this->class_cache);
87
+		// EE_Registry: central repository for classes (legacy)
88
+		espresso_load_required(
89
+			'EE_Registry',
90
+			EE_CORE . 'EE_Registry.core.php'
91
+		);
92
+		$this->registry = EE_Registry::instance(
93
+			$this->dependency_map,
94
+			$this->mirror,
95
+			$this->class_cache,
96
+			$this->object_identifier
97
+		);
98
+	}
99
+
100
+
101
+	/**
102
+	 * Performs initial setup for the generic Loader
103
+	 *
104
+	 * @throws InvalidDataTypeException
105
+	 * @throws InvalidInterfaceException
106
+	 * @throws InvalidArgumentException
107
+	 */
108
+	public function buildLoader()
109
+	{
110
+		$this->loader = LoaderFactory::getLoader(
111
+			$this->registry,
112
+			$this->class_cache,
113
+			$this->object_identifier
114
+		);
115
+		$this->loader->share('EventEspresso\core\services\loaders\ClassInterfaceCache', $this->class_cache);
116
+		$this->loader->share('EventEspresso\core\services\loaders\ObjectIdentifier', $this->object_identifier);
117
+		$this->loader->share('EventEspresso\core\services\container\Mirror', $this->mirror);
118
+		$this->dependency_map->setLoader($this->loader);
119
+	}
120
+
121
+
122
+	/**
123
+	 * @return EE_Dependency_Map
124
+	 */
125
+	public function getDependencyMap()
126
+	{
127
+		return $this->dependency_map;
128
+	}
129
+
130
+
131
+	/**
132
+	 * @return EE_Registry
133
+	 */
134
+	public function getRegistry()
135
+	{
136
+		return $this->registry;
137
+	}
138
+
139
+
140
+	/**
141
+	 * @return LoaderInterface
142
+	 */
143
+	public function getLoader()
144
+	{
145
+		return $this->loader;
146
+	}
147 147
 }
Please login to merge, or discard this patch.
core/services/loaders/LoaderFactory.php 2 patches
Indentation   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -70,44 +70,44 @@
 block discarded – undo
70 70
 class LoaderFactory
71 71
 {
72 72
 
73
-    /**
74
-     * @var LoaderInterface $loader ;
75
-     */
76
-    private static $loader;
73
+	/**
74
+	 * @var LoaderInterface $loader ;
75
+	 */
76
+	private static $loader;
77 77
 
78 78
 
79
-    /**
80
-     * @param EE_Registry|CoffeeShop   $generator   provided during very first instantiation in
81
-     *                                              BootstrapDependencyInjectionContainer::buildLoader()
82
-     *                                              otherwise can be left null
83
-     * @param ClassInterfaceCache|null $class_cache also provided during first instantiation
84
-     * @param ObjectIdentifier|null    $object_identifier
85
-     * @return LoaderInterface
86
-     * @throws InvalidArgumentException
87
-     * @throws InvalidDataTypeException
88
-     * @throws InvalidInterfaceException
89
-     */
90
-    public static function getLoader(
91
-        $generator = null,
92
-        ClassInterfaceCache $class_cache = null,
93
-        ObjectIdentifier $object_identifier = null
94
-    ) {
95
-        if (! LoaderFactory::$loader instanceof LoaderInterface
96
-            && ($generator instanceof EE_Registry || $generator instanceof CoffeeShop)
97
-            && $class_cache instanceof ClassInterfaceCache
98
-            && $object_identifier instanceof ObjectIdentifier
99
-        ) {
100
-            $core_loader = new CoreLoader($generator);
101
-            LoaderFactory::$loader = new Loader(
102
-                $core_loader,
103
-                new CachingLoader(
104
-                    $core_loader,
105
-                    new LooseCollection(''),
106
-                    $object_identifier
107
-                ),
108
-                $class_cache
109
-            );
110
-        }
111
-        return LoaderFactory::$loader;
112
-    }
79
+	/**
80
+	 * @param EE_Registry|CoffeeShop   $generator   provided during very first instantiation in
81
+	 *                                              BootstrapDependencyInjectionContainer::buildLoader()
82
+	 *                                              otherwise can be left null
83
+	 * @param ClassInterfaceCache|null $class_cache also provided during first instantiation
84
+	 * @param ObjectIdentifier|null    $object_identifier
85
+	 * @return LoaderInterface
86
+	 * @throws InvalidArgumentException
87
+	 * @throws InvalidDataTypeException
88
+	 * @throws InvalidInterfaceException
89
+	 */
90
+	public static function getLoader(
91
+		$generator = null,
92
+		ClassInterfaceCache $class_cache = null,
93
+		ObjectIdentifier $object_identifier = null
94
+	) {
95
+		if (! LoaderFactory::$loader instanceof LoaderInterface
96
+			&& ($generator instanceof EE_Registry || $generator instanceof CoffeeShop)
97
+			&& $class_cache instanceof ClassInterfaceCache
98
+			&& $object_identifier instanceof ObjectIdentifier
99
+		) {
100
+			$core_loader = new CoreLoader($generator);
101
+			LoaderFactory::$loader = new Loader(
102
+				$core_loader,
103
+				new CachingLoader(
104
+					$core_loader,
105
+					new LooseCollection(''),
106
+					$object_identifier
107
+				),
108
+				$class_cache
109
+			);
110
+		}
111
+		return LoaderFactory::$loader;
112
+	}
113 113
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -92,7 +92,7 @@
 block discarded – undo
92 92
         ClassInterfaceCache $class_cache = null,
93 93
         ObjectIdentifier $object_identifier = null
94 94
     ) {
95
-        if (! LoaderFactory::$loader instanceof LoaderInterface
95
+        if ( ! LoaderFactory::$loader instanceof LoaderInterface
96 96
             && ($generator instanceof EE_Registry || $generator instanceof CoffeeShop)
97 97
             && $class_cache instanceof ClassInterfaceCache
98 98
             && $object_identifier instanceof ObjectIdentifier
Please login to merge, or discard this patch.
core/services/loaders/ObjectIdentifier.php 1 patch
Indentation   +98 added lines, -98 removed lines patch added patch discarded remove patch
@@ -16,113 +16,113 @@
 block discarded – undo
16 16
 class ObjectIdentifier
17 17
 {
18 18
 
19
-    /**
20
-     * used to separate the FQCN from the class's arguments identifier
21
-     */
22
-    const DELIMITER = '____';
19
+	/**
20
+	 * used to separate the FQCN from the class's arguments identifier
21
+	 */
22
+	const DELIMITER = '____';
23 23
 
24
-    /**
25
-     * @var ClassInterfaceCache $class_cache
26
-     */
27
-    private $class_cache;
24
+	/**
25
+	 * @var ClassInterfaceCache $class_cache
26
+	 */
27
+	private $class_cache;
28 28
 
29 29
 
30
-    /**
31
-     * ObjectIdentifier constructor.
32
-     *
33
-     * @param ClassInterfaceCache $class_cache
34
-     */
35
-    public function __construct(ClassInterfaceCache $class_cache)
36
-    {
37
-        $this->class_cache = $class_cache;
38
-    }
30
+	/**
31
+	 * ObjectIdentifier constructor.
32
+	 *
33
+	 * @param ClassInterfaceCache $class_cache
34
+	 */
35
+	public function __construct(ClassInterfaceCache $class_cache)
36
+	{
37
+		$this->class_cache = $class_cache;
38
+	}
39 39
 
40 40
 
41
-    /**
42
-     * Returns true if the supplied $object_identifier contains
43
-     * the delimiter used to separate an fqcn from the arguments hash
44
-     *
45
-     * @param string $object_identifier
46
-     * @return bool
47
-     */
48
-    public function hasArguments($object_identifier)
49
-    {
50
-        // type casting to bool instead of using strpos() !== false
51
-        // because an object identifier should never begin with the delimiter
52
-        // therefore the delimiter should NOT be found at position 0
53
-        return (bool) strpos($object_identifier, ObjectIdentifier::DELIMITER);
54
-    }
41
+	/**
42
+	 * Returns true if the supplied $object_identifier contains
43
+	 * the delimiter used to separate an fqcn from the arguments hash
44
+	 *
45
+	 * @param string $object_identifier
46
+	 * @return bool
47
+	 */
48
+	public function hasArguments($object_identifier)
49
+	{
50
+		// type casting to bool instead of using strpos() !== false
51
+		// because an object identifier should never begin with the delimiter
52
+		// therefore the delimiter should NOT be found at position 0
53
+		return (bool) strpos($object_identifier, ObjectIdentifier::DELIMITER);
54
+	}
55 55
 
56 56
 
57
-    /**
58
-     * Returns true if the supplied FQCN equals the supplied $object_identifier
59
-     * OR the supplied FQCN matches the FQCN portion of the supplied $object_identifier
60
-     * AND that $object_identifier is for an object with arguments.
61
-     * This allows a request for an object using a FQCN to match
62
-     * a previously instantiated object with arguments
63
-     * without having to know those arguments.
64
-     *
65
-     * @param string $fqcn
66
-     * @param string $object_identifier
67
-     * @return bool
68
-     */
69
-    public function fqcnMatchesObjectIdentifier($fqcn, $object_identifier)
70
-    {
71
-        return $fqcn === $object_identifier
72
-               || strpos($object_identifier, $fqcn . ObjectIdentifier::DELIMITER) === 0;
73
-    }
57
+	/**
58
+	 * Returns true if the supplied FQCN equals the supplied $object_identifier
59
+	 * OR the supplied FQCN matches the FQCN portion of the supplied $object_identifier
60
+	 * AND that $object_identifier is for an object with arguments.
61
+	 * This allows a request for an object using a FQCN to match
62
+	 * a previously instantiated object with arguments
63
+	 * without having to know those arguments.
64
+	 *
65
+	 * @param string $fqcn
66
+	 * @param string $object_identifier
67
+	 * @return bool
68
+	 */
69
+	public function fqcnMatchesObjectIdentifier($fqcn, $object_identifier)
70
+	{
71
+		return $fqcn === $object_identifier
72
+			   || strpos($object_identifier, $fqcn . ObjectIdentifier::DELIMITER) === 0;
73
+	}
74 74
 
75 75
 
76
-    /**
77
-     * build a string representation of an object's FQCN and arguments
78
-     *
79
-     * @param string $fqcn
80
-     * @param array  $arguments
81
-     * @return string
82
-     */
83
-    public function getIdentifier($fqcn, array $arguments = array())
84
-    {
85
-        // only build identifier from arguments if class is not ReservedInstanceInterface
86
-        $identifier = ! $this->class_cache->hasInterface(
87
-            $fqcn,
88
-            'EventEspresso\core\interfaces\ReservedInstanceInterface'
89
-        )
90
-            ? $this->getIdentifierForArguments($arguments)
91
-            : '';
92
-        if (! empty($identifier)) {
93
-            $fqcn .= ObjectIdentifier::DELIMITER . md5($identifier);
94
-        }
95
-        return $fqcn;
96
-    }
76
+	/**
77
+	 * build a string representation of an object's FQCN and arguments
78
+	 *
79
+	 * @param string $fqcn
80
+	 * @param array  $arguments
81
+	 * @return string
82
+	 */
83
+	public function getIdentifier($fqcn, array $arguments = array())
84
+	{
85
+		// only build identifier from arguments if class is not ReservedInstanceInterface
86
+		$identifier = ! $this->class_cache->hasInterface(
87
+			$fqcn,
88
+			'EventEspresso\core\interfaces\ReservedInstanceInterface'
89
+		)
90
+			? $this->getIdentifierForArguments($arguments)
91
+			: '';
92
+		if (! empty($identifier)) {
93
+			$fqcn .= ObjectIdentifier::DELIMITER . md5($identifier);
94
+		}
95
+		return $fqcn;
96
+	}
97 97
 
98 98
 
99
-    /**
100
-     * build a string representation of a object's arguments
101
-     * (mostly because Closures can't be serialized)
102
-     *
103
-     * @param array $arguments
104
-     * @return string
105
-     */
106
-    protected function getIdentifierForArguments(array $arguments)
107
-    {
108
-        if (empty($arguments)) {
109
-            return '';
110
-        }
111
-        $identifier = '';
112
-        foreach ($arguments as $argument) {
113
-            switch (true) {
114
-                case is_object($argument):
115
-                case $argument instanceof Closure:
116
-                    $identifier .= spl_object_hash($argument);
117
-                    break;
118
-                case is_array($argument):
119
-                    $identifier .= $this->getIdentifierForArguments($argument);
120
-                    break;
121
-                default:
122
-                    $identifier .= $argument;
123
-                    break;
124
-            }
125
-        }
126
-        return $identifier;
127
-    }
99
+	/**
100
+	 * build a string representation of a object's arguments
101
+	 * (mostly because Closures can't be serialized)
102
+	 *
103
+	 * @param array $arguments
104
+	 * @return string
105
+	 */
106
+	protected function getIdentifierForArguments(array $arguments)
107
+	{
108
+		if (empty($arguments)) {
109
+			return '';
110
+		}
111
+		$identifier = '';
112
+		foreach ($arguments as $argument) {
113
+			switch (true) {
114
+				case is_object($argument):
115
+				case $argument instanceof Closure:
116
+					$identifier .= spl_object_hash($argument);
117
+					break;
118
+				case is_array($argument):
119
+					$identifier .= $this->getIdentifierForArguments($argument);
120
+					break;
121
+				default:
122
+					$identifier .= $argument;
123
+					break;
124
+			}
125
+		}
126
+		return $identifier;
127
+	}
128 128
 }
Please login to merge, or discard this patch.