public function __construct($filename, ArchiveType $archive_type, Compression $compression = null)
{
$this->filename = $filename;
$this->archive = new \PharData($filename, null, null, $archive_type->value());
$this->compression = $compression ?: Compression::NONE();
if ($archive_type == ArchiveType::ZIP() && $this->compression != Compression::NONE()) {
throw new NotSupportedException("You cannot use compression with zip databases");
}
}