protected function checkType(string $type, $value): bool
    {
        switch ($type) {
            case 'array':
                return \is_array($value);

            case 'bool':
            case 'boolean':
                return \is_bool($value);

            case 'callable':
                return \is_callable($value);

            case 'float':
            case 'double':
                return \is_float($value);

            case 'int':
            case 'integer':
                return \is_int($value);

            case 'null':
                return $value === null;

            case 'numeric':
                return \is_numeric($value);

            case 'object':
                return \is_object($value);

            case 'resource':
                return \is_resource($value);

            case 'scalar':
                return \is_scalar($value);

            case 'string':
                return \is_string($value);

            case 'mixed':
                return true;

            default:
                return ($value instanceof $type);
        }
    }
protected function checkType(string $type, $value): bool
    {
        switch ($type) {
            case 'array':
                return \is_array($value);

            case 'bool':
            case 'boolean':
                return \is_bool($value);

            case 'callable':
                return \is_callable($value);

            case 'float':
            case 'double':
                return \is_float($value);

            case 'int':
            case 'integer':
                return \is_int($value);

            case 'null':
                return $value === null;

            case 'numeric':
                return \is_numeric($value);

            case 'object':
                return \is_object($value);

            case 'resource':
                return \is_resource($value);

            case 'scalar':
                return \is_scalar($value);

            case 'string':
                return \is_string($value);

            case 'mixed':
                return true;

            default:
                return ($value instanceof $type);
        }
    }
protected function checkType ( string $ type , $ value ) : bool { switch ( $ type ) { case 'array' : return \ is_array ( $ value ) ; case 'bool' : case 'boolean' : return \ is_bool ( $ value ) ; case 'callable' : return \ is_callable ( $ value ) ; case 'float' : case 'double' : return \ is_float ( $ value ) ; case 'int' : case 'integer' : return \ is_int ( $ value ) ; case 'null' : return $ value === null ; case 'numeric' : return \ is_numeric ( $ value ) ; case 'object' : return \ is_object ( $ value ) ; case 'resource' : return \ is_resource ( $ value ) ; case 'scalar' : return \ is_scalar ( $ value ) ; case 'string' : return \ is_string ( $ value ) ; case 'mixed' : return true ; default : return ( $ value instanceof $ type ) ; } }
Returns `true` if value is of the specified type.

@param string $type The type to check the value against.
@param mixed $value The value to check.

@return bool
Returns true if value is of the specified type .