<?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 string $relativePath; private string $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. */ public function getRelativePath(): string { return $this->relativePath; } /** * Returns the relative path name. * * This path contains the file name. */ public function getRelativePathname(): string { return $this->relativePathname; } public function getFilenameWithoutExtension(): string { $filename = $this->getFilename(); return pathinfo($filename, \PATHINFO_FILENAME); } /** * Returns the contents of the file. * * @throws \RuntimeException */ public function getContents(): string { 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; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
.git | Folder | 0755 |
|
|
Comparator | Folder | 0755 |
|
|
Exception | Folder | 0755 |
|
|
Iterator | Folder | 0755 |
|
|
Tests | Folder | 0755 |
|
|
.gitattributes | File | 113 B | 0644 |
|
.gitignore | File | 37 B | 0644 |
|
CHANGELOG.md | File | 2.54 KB | 0644 |
|
Finder.php | File | 24.47 KB | 0644 |
|
Gitignore.php | File | 3.07 KB | 0644 |
|
Glob.php | File | 3.62 KB | 0644 |
|
LICENSE | File | 1.06 KB | 0644 |
|
README.md | File | 509 B | 0644 |
|
SplFileInfo.php | File | 2.04 KB | 0644 |
|
composer.json | File | 792 B | 0644 |
|
phpunit.xml.dist | File | 847 B | 0644 |
|