38 lines
1.1 KiB
PHP
38 lines
1.1 KiB
PHP
<?php
|
|
namespace nur\sery\wip\schema;
|
|
|
|
use nur\sery\wip\schema\types\IType;
|
|
use nur\sery\wip\schema\types\Registry;
|
|
use nur\sery\wip\schema\types\tarray;
|
|
use nur\sery\wip\schema\types\tbool;
|
|
use nur\sery\wip\schema\types\tcallable;
|
|
use nur\sery\wip\schema\types\tfloat;
|
|
use nur\sery\wip\schema\types\tint;
|
|
use nur\sery\wip\schema\types\tstring;
|
|
|
|
/**
|
|
* Class types: classe outil pour gérer le registre de types
|
|
*/
|
|
class types {
|
|
/** @var Registry */
|
|
private static $registry;
|
|
|
|
static function registry(): Registry {
|
|
if (self::$registry === null) {
|
|
self::$registry = new Registry();
|
|
}
|
|
return self::$registry;
|
|
}
|
|
|
|
static function get(string $name): IType {
|
|
return self::registry()->get($name);
|
|
}
|
|
|
|
static function string(): tstring { return self::get("string"); }
|
|
static function bool(): tbool { return self::get("bool"); }
|
|
static function int(): tint { return self::get("int"); }
|
|
static function float(): tfloat { return self::get("float"); }
|
|
static function array(): tarray { return self::get("array"); }
|
|
static function callable(): tcallable { return self::get("callable"); }
|
|
}
|