setFolder($folder); } protected string $folder; public function getFolder(): string { return $this->folder; } public function setFolder(string $folder): Logs { $this->folder = $folder; return $this; } public function getFiles(): array { $files = new \FilesystemIterator($this->getFolder()); $output = []; foreach ($files as $file) { if ($file->isDir()) { continue; } $output []= $file; } return $output; } public function get(string $log_file): File { $filename = implode(DIRECTORY_SEPARATOR, [$this->getFolder(), $log_file]); $file_info = new SplFileInfo($filename); $content = \Safe\file_get_contents($filename); return (new File())->setFilename($log_file)->setDate((new DateTimeImmutable())->setTimestamp($file_info->getCTime()))->setContent($content); } }