@@ 99-109 (lines=11) @@ | ||
96 | * @throws \phpbu\App\Exception |
|
97 | * @return mixed |
|
98 | */ |
|
99 | protected function create($type, $alias) |
|
100 | { |
|
101 | self::checkType($type); |
|
102 | $alias = strtolower($alias); |
|
103 | ||
104 | if (!isset(self::$classMap[$type][$alias])) { |
|
105 | throw new Exception(sprintf('unknown %s: %s', $type, $alias)); |
|
106 | } |
|
107 | $class = self::$classMap[$type][$alias]; |
|
108 | return new $class(); |
|
109 | } |
|
110 | ||
111 | /** |
|
112 | * Runner Factory. |
|
@@ 291-300 (lines=10) @@ | ||
288 | * @param boolean $force Overwrite already registered class |
|
289 | * @throws \phpbu\App\Exception |
|
290 | */ |
|
291 | public static function register($type, $alias, $fqcn, $force = false) |
|
292 | { |
|
293 | self::checkType($type); |
|
294 | $alias = strtolower($alias); |
|
295 | ||
296 | if (!$force && isset(self::$classMap[$type][$alias])) { |
|
297 | throw new Exception(sprintf('%s is already registered use force parameter to overwrite', $type)); |
|
298 | } |
|
299 | self::$classMap[$type][$alias] = $fqcn; |
|
300 | } |
|
301 | ||
302 | /** |
|
303 | * Throws an exception if type is invalid. |