/
ClassAliasList.php
75 lines (65 loc) · 1.89 KB
/
ClassAliasList.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
namespace Concrete\Core\Foundation;
class ClassAliasList
{
private static $loc = null;
public $aliases = array();
/**
* List of class aliases to be resolved as soon as possible.
* @deprecated it will be removed in future versions
*
* @var string[]
*/
private $requiredAliases = [];
public function getRegisteredAliases()
{
return $this->aliases;
}
public static function getInstance()
{
if (null === self::$loc) {
self::$loc = new self();
}
return self::$loc;
}
public function register($alias, $class)
{
$this->aliases[$alias] = $class;
}
public function registerMultiple($array)
{
foreach ($array as $alias => $class) {
$this->register($alias, $class);
}
}
/**
* Register a class alias to be resolved as soon as possible.
* @deprecated Don't use this method: it will be removed in future versions (use register)
* @param string $alias
* @param string $class
*/
public function registerRequired($alias, $class)
{
$this->register($alias, $class);
$this->requiredAliases[] = $alias;
}
/**
* Register a list of class aliases to be pre-resolved as soon as possible.
* @deprecated Don't use this method: it will be removed in future versions (use registerMultiple)
*/
public function registerMultipleRequired($array)
{
$this->registerMultiple($array);
$this->requiredAliases = array_merge($this->requiredAliases, array_keys($array));
}
/**
* Pre-load the class aliases marked as required.
* @deprecated Don't use this method: it will be removed in future versions.
*/
public function resolveRequired()
{
foreach ($this->requiredAliases as $requiredAlias) {
class_exists($requiredAlias);
}
}
}