Lines Matching defs:relative
255 * Create a new IRI object by resolving a relative IRI
260 * @param IRI|string $relative Relative IRI
263 public static function absolutize($base, $relative)
265 if (!($relative instanceof IRI)) {
266 $relative = new IRI($relative);
268 if (!$relative->is_valid()) {
270 } elseif ($relative->scheme !== null) {
271 return clone $relative;
277 if ($relative->get_iri() !== '') {
278 if ($relative->iuserinfo !== null || $relative->ihost !== null || $relative->port !== null) {
279 $target = clone $relative;
287 if ($relative->ipath !== '') {
288 if ($relative->ipath[0] === '/') {
289 $target->ipath = $relative->ipath;
291 $target->ipath = '/' . $relative->ipath;
293 $target->ipath = substr($base->ipath, 0, $last_segment + 1) . $relative->ipath;
295 $target->ipath = $relative->ipath;
298 $target->iquery = $relative->iquery;
301 if ($relative->iquery !== null) {
302 $target->iquery = $relative->iquery;
307 $target->ifragment = $relative->ifragment;