| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | <?php/* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * 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 <fabien@symfony.com> */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($file, $relativePath, $relativePathname)    {        parent::__construct($file);        $this->relativePath = $relativePath;        $this->relativePathname = $relativePathname;    }    /**     * Returns the relative path.     *     * This path does not contain the file name.     *     * @return string the relative path     */    public function getRelativePath()    {        return $this->relativePath;    }    /**     * Returns the relative path name.     *     * This path contains the file name.     *     * @return string the relative path name     */    public function getRelativePathname()    {        return $this->relativePathname;    }    /**     * Returns the contents of the file.     *     * @return string the contents of the file     *     * @throws \RuntimeException     */    public function getContents()    {        set_error_handler(function ($type, $msg) use (&$error) { $error = $msg; });        $content = file_get_contents($this->getPathname());        restore_error_handler();        if (false === $content) {            throw new \RuntimeException($error);        }        return $content;    }}
 |