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 <?php namespace amekusa\plz; main::required;
/**
 * Type enumerations
 */
class T {
    const
        /** Represents `resource` */
        RES = 64,
        /** Represents `object` */
        OBJ = 32,
        /** Represents `array` */
        ARR = 16,
        /** Represents `string` */
        STR = 8,
        /** Represents `float` */
        FLOAT = 4,
        /** Represents `integer` */
        INT = 2,
        /** Represents `boolean` */
        BOOL = 1,
        /** Represents `unknown_type` */
        UNKNOWN = 0;
    /**
     * Returns a type enumeration by name
     * @param string $Type A type name
     * @return integer A type enumeration
     */
    public static function enum($Type) {
        static $map = array (
            'resource' => self::RES,
            'object' => self::OBJ,
            'array' => self::ARR,
            'arr' => self::ARR,
            'string' => self::STR,
            'str' => self::STR,
            'real' => self::FLOAT,
            'double' => self::FLOAT,
            'float' => self::FLOAT,
            'long' => self::INT,
            'integer' => self::INT,
            'int' => self::INT,
            'boolean' => self::BOOL,
            'bool' => self::BOOL
        );
        if (!isset($map[$Type])) return self::UNKNOWN;
        return $map[$Type];
    }
}