isFile() ist zum prüfen ob es sich um eine beiliebige valide Datei handelt und ob diese auch tatsächlich existiert.
PHP-Code:
public function isFile(): bool {
if ($this->isFile !== null) {
return $this->isFile;
}
if (is_dir($this->file)) {
return $this->isFile = false;
}
if (!file_exists($this->file)) {
return $this->isFile = false;
}
return $this->isFile = true;
}
setFileName sollte im Fehlerfall eine Exception werfen oder zumindest zurückgeben ob die aktion erfolgreich war.
Deine Methode createUniqueFile ist falsch benannt, denn sie erstellt keine eindeutige Datei sondern einen eindeutigen Dateinamen.
Deine Methode generateTimestampFilename() liefert doch für die Dauer bis zu 1 Sekunde immer den gleichen Dateinamen.
Den mit dem Counter Zähler vorher war schlimmer. Denn nehmen wir an es hat schon 1000 Dateinamen, name_1, name_2 , ... , name_1000,
dann würde es 1000 mal die Methode aufrufen bis ein neuer Name entsteht der nich nicht existiert. Daher lieber den Timestamp.
Dies würde natürlich fast nicht vorkommen, könnte jedoch aber.
Kommentar