Метод makeRelative класса Path
Метод makeRelative класса Path
преобразует абсолютный путь в относительный
относительно указанного базового пути. Первым
параметром передаётся базовый путь, от которого
нужно построить относительный маршрут. Вторым
параметром передаётся целевой путь, который
нужно сделать относительным. Если целевой путь
не является дочерним по отношению к базовому,
метод возвращает исходный целевой путь без
изменений.
Синтаксис
public function makeRelative(string $basePath, string $path): string
Пример
Давайте получим относительный путь от каталога
/var/www к файлу /var/www/project/src/Controller/ArticleController.php:
<?php
namespace AppService;
use SymfonyComponentFilesystemPath;
class PathService
{
public function getRelative(): string
{
$path = new Path();
$res = $path->makeRelative(
'/var/www',
'/var/www/project/src/Controller/ArticleController.php'
);
return $res;
}
}
?>
Результат выполнения кода:
"project/src/Controller/ArticleController.php"
Пример
Давайте получим относительный путь, когда базовый путь совпадает с целевым:
<?php
namespace AppService;
use SymfonyComponentFilesystemPath;
class PathService
{
public function getRelative(): string
{
$path = new Path();
$res = $path->makeRelative('/var/www', '/var/www');
return $res;
}
}
?>
Результат выполнения кода:
"."
Пример
Давайте получим относительный путь, когда целевой путь не является дочерним по отношению к базовому:
<?php
namespace AppService;
use SymfonyComponentFilesystemPath;
class PathService
{
public function getRelative(): string
{
$path = new Path();
$res = $path->makeRelative('/var/www', '/etc/hosts');
return $res;
}
}
?>
Результат выполнения кода:
"/etc/hosts"
Смотрите также
-
класс
Path,
который предоставляет методы для работы с путями -
метод
makeAbsolute,
который преобразует путь в абсолютный -
метод
isAbsolute,
который проверяет, является ли путь абсолютным -
метод
isRelative,
который проверяет, является ли путь относительным