Метод normalize класса Path
Метод normalize класса Path
приводит путь к нормализованному виду. Он
убирает лишние разделители, обрабатывает
переходы на уровень выше (..) и текущую
директорию (.). Метод не обращается к
файловой системе и работает только со строкой
пути. Возвращает новый объект Path с
нормализованным путём.
Синтаксис
public function normalize(string $path): self
Пример
Давайте нормализуем путь с лишними разделителями:
<?php
namespace AppService;
use SymfonyComponentFilesystemPath;
class PathService
{
public function normalize(): string
{
$path = new Path('foo//bar///baz');
$res = $path->normalize();
return (string) $res;
}
}
?>
Результат выполнения кода:
"foo/bar/baz"
Пример
Давайте обработаем переход на уровень выше:
<?php
namespace AppService;
use SymfonyComponentFilesystemPath;
class PathService
{
public function normalize(): string
{
$path = new Path('foo/bar/../baz');
$res = $path->normalize();
return (string) $res;
}
}
?>
Результат выполнения кода:
"foo/baz"
Пример
Давайте уберём текущую директорию из пути:
<?php
namespace AppService;
use SymfonyComponentFilesystemPath;
class PathService
{
public function normalize(): string
{
$path = new Path('./foo/./bar');
$res = $path->normalize();
return (string) $res;
}
}
?>
Результат выполнения кода:
"foo/bar"
Смотрите также
-
класс
Path,
который представляет путь к файлу или директории -
метод
canonicalize,
который приводит путь к каноническому виду -
метод
join,
который объединяет пути в один -
метод
makeAbsolute,
который делает путь абсолютным