clean = false; } public function __destruct() { try { if ($this->clean) { $files = glob($this->backupFolder . '/*'); foreach($files as $file){ is_file($file) ? unlink($file) : null; } } } catch (\Exception $exception) { throw new CleanException($exception->getMessage()); } } /** * @param $backupFolder * @return Builder * @throws Throwable */ public function setBackupFolder($backupFolder): Builder { throw_if(!file_exists($backupFolder), new BackupFolderNotFoundException('Backup folder not exist!')); $this->backupFolder = $backupFolder; return $this; } /** * @return string */ public function getBackupFolder(): string { return $this->backupFolder; } /** * @param string $exportFolder * @return Builder */ public function setExportFolder(string $exportFolder): Builder { $this->exportFolder = $exportFolder; return $this; } /** * @return string */ public function getExportFolder(): string { return $this->exportFolder; } /** * @param $containerName * @return Builder */ public function setContainerName($containerName): Builder { $this->containerName = $containerName; return $this; } /** * @param string $targetFolder * @return Builder */ public function setTargetFolder(string $targetFolder): Builder { $this->targetFolder = $targetFolder; return $this; } /** * @return string */ public function getTargetFolder(): string { return $this->targetFolder; } /** * @return string */ public function getContainerName(): string { return $this->containerName; } /** * @param string $packageName * @return Builder */ public function setPackageName(string $packageName): Builder { $this->packageName = $packageName; return $this; } /** * @return string */ public function getPackageName(): string { return $this->packageName; } /** * @param bool $clean */ public function setClean(bool $clean): void { $this->clean = $clean; } /** * @return CommandBuilder */ abstract public function builder(): CommandBuilder; }