Wouldn't the handle automatically close as soon as the resource is garbage collected? If that's so, this __destruct() method is redundant.