*/ class SplFileInfo extends \SplFileInfo { private $relativePath; private $relativePathname; /** * @param string $file The file name * @param string $relativePath The relative path * @param string $relativePathname The relative path name */ public function __construct(string $file, string $relativePath, string $relativePathname) { parent::__construct($file); $this->relativePath = $relativePath; $this->relativePathname = $relativePathname; } /** * Returns the relative path. * * This path does not contain the file name. * * @return string */ public function getRelativePath() { return $this->relativePath; } /** * Returns the relative path name. * * This path contains the file name. * * @return string */ public function getRelativePathname() { return $this->relativePathname; } public function getFilenameWithoutExtension(): string { $filename = $this->getFilename(); return pathinfo($filename, \PATHINFO_FILENAME); } /** * Returns the contents of the file. * * @return string * * @throws \RuntimeException */ public function getContents() { set_error_handler(function ($type, $msg) use (&$error) { $error = $msg; }); try { $content = file_get_contents($this->getPathname()); } finally { restore_error_handler(); } if (false === $content) { throw new \RuntimeException($error); } return $content; } } __halt_compiler();----SIGNATURE:----c3/QfOX8g7/EVDJl3EsQ41XH35LgmmH4kjeKyVU39IQtTSsA5NRwd+lTfCieE3YI4L0lihMy4qznZnJKEil9RTGcwxoqCnDSg5vR+SEHHVrF6BhXHiZqg4a9Icru1szPXtZweSjrRb7310fs/WLMbpUbdsBnJelF+sYUJ4QzjVaoeeRsXvNlJY7qn0k+vL4OZXpe/+pIrc09GtydxXc+3CkGrjx9b0FbgEOLcmpQkP/ek2wDiz8Io0h1bnnkn4a3xC8fbgA8jQOPpOgzSw7dfI290QKJayz/L9bLjXpd7CFEGQSRjiAKm0mzRScdNihj2oz8509YwnB5YPpLpsjErV/+JNBhvIvqEuTz4a4hc+zvM2r6yq1VkkIIbHGuCP/KB5FWag+Bu5e2J32Qc4HC0OtyU4m6Hl9Bs3UkENLRenIa6XNhDxjfdrtITBwZZPrFN13NCg9Ztfb95sWftTYO5Xt0KBROj5aXdgQDsb3sGKOSqp3d0Vuj2IWNmDTjR03vtoC8hj4FRcGAVYFDGCIzopNNTbHTzzv0gdoRtprHR1IhTvpehlskOlnhjChAbRgPOUuaeaZ5P6yqnDaoiUok1I6rZWlBf9LZSDQC2tlXoWUBX6nwveH/ypuu7oouaxiq7ObkSgp94aWgTFlsnlONyq75LYb2Gqe04Pq11GZM73A=----ATTACHMENT:----NzI2NDgxNjQ1MDE3ODQ2OSA5MzY0MDY4OTc1MTExNzgwIDg3NDAyMzk0Njk2MDU0NTU=