private static function getStandardType($name = null)
    {
        if (self::$standardTypes === null) {
            self::$standardTypes = [
                self::ID      => new IDType(),
                self::STRING  => new StringType(),
                self::FLOAT   => new FloatType(),
                self::INT     => new IntType(),
                self::BOOLEAN => new BooleanType(),
            ];
        }

        return $name ? self::$standardTypes[$name] : self::$standardTypes;
    }
private static function getStandardType($name = null)
    {
        if (self::$standardTypes === null) {
            self::$standardTypes = [
                self::ID      => new IDType(),
                self::STRING  => new StringType(),
                self::FLOAT   => new FloatType(),
                self::INT     => new IntType(),
                self::BOOLEAN => new BooleanType(),
            ];
        }

        return $name ? self::$standardTypes[$name] : self::$standardTypes;
    }
private static function getStandardType ( $ name = null ) { if ( self :: $ standardTypes === null ) { self :: $ standardTypes = [ self :: ID => new IDType ( ) , self :: STRING => new StringType ( ) , self :: FLOAT => new FloatType ( ) , self :: INT => new IntType ( ) , self :: BOOLEAN => new BooleanType ( ) , ] ; } return $ name ? self :: $ standardTypes [ $ name ] : self :: $ standardTypes ; }
@param string $name

@return (IDType|StringType|FloatType|IntType|BooleanType)[]|IDType|StringType|FloatType|IntType|BooleanType
@param string $name