mirror of
https://github.com/Karaka-Management/phpOMS.git
synced 2026-01-11 17:58:41 +00:00
getRoute now returns the offsetted path by default
This commit is contained in:
parent
a2f067920c
commit
cab2628062
|
|
@ -108,6 +108,14 @@ final class Argument implements UriInterface
|
|||
*/
|
||||
private string $path = '';
|
||||
|
||||
/**
|
||||
* Uri path with offset.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private string $offsetPath = '';
|
||||
|
||||
/**
|
||||
* Uri query.
|
||||
*
|
||||
|
|
@ -164,6 +172,9 @@ final class Argument implements UriInterface
|
|||
$this->path = \array_shift($uriParts);
|
||||
$this->pathElements = \explode('/', \ltrim($this->path, '/'));
|
||||
|
||||
$path = \array_slice($this->pathElements, $this->pathOffset);
|
||||
$this->offsetPath = '/' . \implode('/', $path);
|
||||
|
||||
$this->setQuery(\implode(' ', $uriParts));
|
||||
}
|
||||
|
||||
|
|
@ -235,6 +246,9 @@ final class Argument implements UriInterface
|
|||
public function setPathOffset(int $offset = 0) : void
|
||||
{
|
||||
$this->pathOffset = $offset;
|
||||
|
||||
$path = \array_slice($this->pathElements, $this->pathOffset);
|
||||
$this->offsetPath = '/' . \implode('/', $path);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -252,6 +266,9 @@ final class Argument implements UriInterface
|
|||
{
|
||||
$this->path = $path;
|
||||
$this->pathElements = \explode('/', \ltrim($this->path, '/'));
|
||||
|
||||
$path = \array_slice($this->pathElements, $this->pathOffset);
|
||||
$this->offsetPath = '/' . \implode('/', $path);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -269,10 +286,12 @@ final class Argument implements UriInterface
|
|||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getRoute() : string
|
||||
public function getRoute(bool $ignoreOffset = false) : string
|
||||
{
|
||||
$path = $ignoreOffset ? $this->path : $this->offsetPath;
|
||||
|
||||
$query = $this->getQuery();
|
||||
return $this->path . (!empty($query) ? ' ' . $this->getQuery() : '');
|
||||
return $path . (!empty($query) ? ' ' . $this->getQuery() : '');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -204,6 +204,10 @@ final class HttpUri implements UriInterface
|
|||
}
|
||||
|
||||
$this->pathElements = \explode('/', \trim($this->path, '/'));
|
||||
|
||||
$path = \array_slice($this->pathElements, $this->pathOffset);
|
||||
$this->offsetPath = '/' . \implode('/', $path);
|
||||
|
||||
$this->queryString = $url['query'] ?? '';
|
||||
|
||||
if (!empty($this->queryString)) {
|
||||
|
|
@ -278,6 +282,9 @@ final class HttpUri implements UriInterface
|
|||
public function setPathOffset(int $offset = 0) : void
|
||||
{
|
||||
$this->pathOffset = $offset;
|
||||
|
||||
$path = \array_slice($this->pathElements, $this->pathOffset);
|
||||
$this->offsetPath = '/' . \implode('/', $path);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -302,7 +309,7 @@ final class HttpUri implements UriInterface
|
|||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getPath() : string
|
||||
public function getPath(int $offset = 0) : string
|
||||
{
|
||||
return $this->path;
|
||||
}
|
||||
|
|
@ -314,6 +321,9 @@ final class HttpUri implements UriInterface
|
|||
{
|
||||
$this->path = $path;
|
||||
$this->pathElements = \explode('/', \ltrim($this->path, '/'));
|
||||
|
||||
$path = \array_slice($this->pathElements, $this->pathOffset);
|
||||
$this->offsetPath = '/' . \implode('/', $path);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -331,10 +341,12 @@ final class HttpUri implements UriInterface
|
|||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getRoute() : string
|
||||
public function getRoute(bool $ignoreOffset = false) : string
|
||||
{
|
||||
$path = $ignoreOffset ? $this->path : $this->offsetPath;
|
||||
|
||||
$query = $this->getQuery();
|
||||
return $this->path . (!empty($query) ? '?' . $this->getQuery() : '');
|
||||
return $path . (!empty($query) ? '?' . $this->getQuery() : '');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -175,11 +175,13 @@ interface UriInterface
|
|||
/**
|
||||
* Get route representation of uri.
|
||||
*
|
||||
* @param bool $ignoreOffset Ignore internal offset
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function getRoute() : string;
|
||||
public function getRoute(bool $ignoreOffset = false) : string;
|
||||
|
||||
/**
|
||||
* Set uri.
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user