Moodle PHP Documentation 4.5
Moodle 4.5dev (Build: 20240606) (d3ae1391abe)
|
Static Public Member Functions | |
static | relativize (UriInterface $base, UriInterface $target) |
Returns the target URI as a relative reference from the base URI. | |
static | removeDotSegments (string $path) |
Removes dot segments from a path and returns the new path. | |
static | resolve (UriInterface $base, UriInterface $rel) |
Converts the relative URI into a new URI that is resolved against the base URI. | |
|
static |
Returns the target URI as a relative reference from the base URI.
This method is the counterpart to resolve():
(string) $target === (string) UriResolver\resolve($base, UriResolver\relativize($base, $target))
One use-case is to use the current request URI as base URI and then generate relative links in your documents to reduce the document size or offer self-contained downloadable document archives.
$base = new Uri('http://example.com/a/b/'); echo UriResolver\relativize($base, new Uri('http://example.com/a/b/c')); // prints 'c'. echo UriResolver\relativize($base, new Uri('http://example.com/a/x/y')); // prints '../x/y'. echo UriResolver\relativize($base, new Uri('http://example.com/a/b/?q')); // prints '?q'. echo UriResolver\relativize($base, new Uri('http://example.org/a/b/')); // prints '//example.org/a/b/'.
This method also accepts a target that is already relative and will try to relativize it further. Only a relative-path reference will be returned as-is.
echo UriResolver\relativize($base, new Uri('/a/b/c')); // prints 'c' as well
|
static |
Removes dot segments from a path and returns the new path.
|
static |
Converts the relative URI into a new URI that is resolved against the base URI.