public static function validateType($value)
    {
        if (get_called_class() === $value) {
            return true;
        }
        if (array_key_exists($value, class_implements(get_called_class()))) {
            return true;
        }
        if (array_key_exists($value, class_parents(get_called_class()))) {
            return true;
        }
        throw new InvalidDataTypeException(__CLASS__, new static);
    }
public static function validateType($value)
    {
        if (get_called_class() === $value) {
            return true;
        }
        if (array_key_exists($value, class_implements(get_called_class()))) {
            return true;
        }
        if (array_key_exists($value, class_parents(get_called_class()))) {
            return true;
        }
        throw new InvalidDataTypeException(__CLASS__, new static);
    }
public static function validateType ( $ value ) { if ( get_called_class ( ) === $ value ) { return true ; } if ( array_key_exists ( $ value , class_implements ( get_called_class ( ) ) ) ) { return true ; } if ( array_key_exists ( $ value , class_parents ( get_called_class ( ) ) ) ) { return true ; } throw new InvalidDataTypeException ( __CLASS__ , new static ) ; }
Validate object type

@param $value
@return bool
@throws InvalidDataTypeException
Validate object type