Метод canonicalize класса Path
Метод canonicalize класса Path
приводит путь к каноническому виду. Он
раскрывает символические ссылки, убирает
избыточные разделители и удаляет элементы
'.' и '..'. Метод не имеет
параметров и возвращает новый объект
Path с уже нормализованным путём.
Исходный объект при этом не изменяется.
Синтаксис
$res = $path->canonicalize();
Пример
Давайте приведём путь с избыточными элементами к каноническому виду:
<?php
use Symfony\Component\Filesystem\Path;
$path = new Path('/var/www/./project/../project/src');
$res = $path->canonicalize();
echo $res->getPath();
?>
Результат выполнения кода:
"/var/www/project/src"
Пример
Давайте раскроем символическую ссылку внутри пути:
<?php
use Symfony\Component\Filesystem\Path;
$path = new Path('/var/www/current/logs');
$res = $path->canonicalize();
echo $res->getPath();
?>
Если '/var/www/current' является
символической ссылкой на
'/var/www/releases/2024', то
результат выполнения кода будет таким:
"/var/www/releases/2024/logs"
Пример
Давайте посмотрим, как метод ведёт себя с уже каноническим путём:
<?php
use Symfony\Component\Filesystem\Path;
$path = new Path('/var/www/project/src');
$res = $path->canonicalize();
echo $res->getPath();
?>
Результат выполнения кода:
"/var/www/project/src"
Смотрите также
-
класс
Path,
который представляет путь в файловой системе -
метод
normalize,
который нормализует путь без обращения к файловой системе -
метод
join,
который соединяет несколько частей пути в один -
метод
isAbsolute,
который проверяет, является ли путь абсолютным