Passed
Branch scrutinizer (391c16)
by Wanderson
01:43
created

DependenceInjector::getClassDi()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 5
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 4
nc 2
nop 1
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Win\DesignPattern;
4
5
/**
6
 * Dependence Injector
7
 *
8
 * Auxilia a Injetar dependências
9
 * As classes ficam salvas em $container, então poderão ser sobrescritas
10
 * desde que todas as chamadas das classes estejam utilizando o intance() do Singleton
11
 * ao invés de instanciar a classe.
12
 */
13
class DependenceInjector {
14
15
	/**
16
	 * Lista com nomes das classes extendidas
17
	 * @var string[]
18
	 */
19
	public static $container = [];
20
21
	/**
22
	 * Irá retornar a classe personalizada salva em DependenceInjector::$container
23
	 * @param string $class
24
	 * @return string
25
	 */
26
	public static function getClassDi($class) {
27
		if (key_exists($class, static::$container)):
28
			$class = static::$container[$class];
29
		endif;
30
		return $class;
31
	}
32
33
}
34