file->getFilename(); return substr($file, 0, strpos($file, '.')); } public function getName(): string { return basename($this->getFilename()); } public function getFilename(): string { $path = $this->file->getRealPath(); if ($path === false) { throw new \Exception('Invoice template got deleted from filesystem: ' . $this->file->getFilename()); } return $path; } public function isTwig(): bool { return $this->getFileExtension() === 'twig'; } public function getFileExtension(): string { return $this->file->getExtension(); } public function getLastChange(): int { $modified = $this->file->getMTime(); if ($modified === false) { throw new \Exception('Invoice template got deleted from filesystem: ' . $this->file->getFilename()); } return $modified; } }