mirror of
https://github.com/Karaka-Management/phpOMS.git
synced 2026-02-11 14:38:39 +00:00
Support storage registering
This commit is contained in:
parent
d34f50218a
commit
c98cd94edc
|
|
@ -30,11 +30,28 @@ namespace phpOMS\System\File;
|
||||||
*/
|
*/
|
||||||
final class Storage
|
final class Storage
|
||||||
{
|
{
|
||||||
|
private static $registered = [];
|
||||||
|
|
||||||
public static function env(string $env = 'local') : string
|
public static function env(string $env = 'local') : string
|
||||||
{
|
{
|
||||||
$env = ucfirst(strtolower($env));
|
if (isset(self::$registered[$env])) {
|
||||||
$env = __NAMESPACE__ . '\\' . $env . '\\' . $env . 'Storage';
|
$env = self::$registered[$env];
|
||||||
|
} else {
|
||||||
|
$env = ucfirst(strtolower($env));
|
||||||
|
$env = __NAMESPACE__ . '\\' . $env . '\\' . $env . 'Storage';
|
||||||
|
}
|
||||||
|
|
||||||
return $env::getInstance();
|
return $env::getInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function register(string $name, string $class) : bool
|
||||||
|
{
|
||||||
|
if (isset(self::$registered[$name])) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
self::$registered[$name] = $class;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user