* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Finder; /** * Extends \SplFileInfo to support relative paths. * * @author Fabien Potencier */ 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:----d9ZMTUmOWRYzHbmJMslbX3TJp7XKMowoDipFoijf/zcH8dfSJixU4q0bYM+Ac2kGQe393kT9CfRLE3kZYc82TvzLbORqbU55um3lcE0/f8OC+xAayCAzIudC+It88PThF/x+9Egxa3+o3/F04SzAfEf1izrj6HrlTwo42amAtOreWzP2Op6e8KRWKgMLulTigiLZsf3Fp9igO0rIXYKKdkR+LWo7Or03EJ1JZdj2ra1W47Wiv7QrIQQMg1Iwe7H3CicGpJiZQCegV+G/sEcJxX/CmS0mJg3aMo6WE0cuQ0pPSq53qgGU7z511s6KDiQAF/H6UbNtho6swKqIOVKLZDcwFBg59cAwPGzjJDQZlfWY8uJLckEVEDgboVgVAzHDLXyPJL89ZYTlP9aQGECZKA31DZQIBH1RhE48M0VNMTPATI/BkfcwVCzoaQPnbHae+brM4m0KNr9cDQu3J0TXFsrMDmeeRBPt8NV7MVW4z61AWdwSgbD5CRf0IUgVJ1PhNEMFT/3NkrNpthw/XtBvjZn94JdZD7FpNW2EVDB5mjcvN27ObDmVfpuW8sPt21nl4m3GpRg9zE6wEzw1edWHpGx940FDLidvIIaTalt4ae8SlLQg+VYmzlwIl5QdQtyr7yNZWfVPaE8DdTCfPus09l9bSLQQCpORPsdqMpnL6OU=----ATTACHMENT:----MzcyMTY5MzQ1MzQxNTEyMyA2MjU1MTc1NTgwMTQxMDE2IDM1NTkyMzkzNTgxNjE5NTQ=