SegmentedPathInterface
extends
Countable, IteratorAggregate, PathInterface
in
Tags
Table of Contents
- __toString() : string
- Returns the instance string representation.
- append() : self
- Appends a segment to the path.
- count() : int
- Returns the total number of segments in the path.
- decoded() : string
- Returns the decoded path.
- get() : string|null
- Retrieves a single path segment.
- getBasename() : string
- Returns the path basename.
- getContent() : string|null
- Returns the instance content.
- getDirname() : string
- Returns parent directory's path.
- getExtension() : string
- Returns the basename extension.
- getIterator() : Iterator<string|int, string>
- Iterate over the path segment.
- getUriComponent() : string
- Returns the instance string representation with its optional URI delimiters.
- hasTrailingSlash() : bool
- Returns whether or not the path has a trailing delimiter.
- isAbsolute() : bool
- Returns whether or not the path is absolute or relative.
- jsonSerialize() : string|null
- Returns the instance json representation.
- keys() : array<string|int, int>
- Returns the associated key for a specific segment.
- prepend() : self
- Prepends a segment to the path.
- withBasename() : self
- Returns an instance with the specified basename.
- withContent() : self
- Returns an instance with the specified content.
- withDirname() : self
- Returns an instance with the specified parent directory's path.
- withExtension() : self
- Returns an instance with the specified basename extension.
- withLeadingSlash() : self
- Returns an instance with a leading slash.
- withoutDotSegments() : self
- Returns an instance without dot segments.
- withoutEmptySegments() : self
- Returns an instance without duplicate delimiters.
- withoutLeadingSlash() : self
- Returns an instance without a leading slash.
- withoutSegment() : self
- Returns an instance without the specified segment.
- withoutTrailingSlash() : self
- Returns an instance without a trailing slash.
- withSegment() : self
- Returns an instance with the modified segment.
- withTrailingSlash() : self
- Returns an instance with a trailing slash.
Methods
__toString()
Returns the instance string representation.
public
__toString() : string
If the instance is defined, the value returned MUST be percent-encoded, but MUST NOT double-encode any characters. To determine what characters to encode, please refer to RFC 3986, Sections 2 and 3.
If the instance is not defined an empty string is returned
Return values
string —append()
Appends a segment to the path.
public
append(string $segment) : self
Parameters
- $segment : string
Return values
self —count()
Returns the total number of segments in the path.
public
count() : int
Return values
int —decoded()
Returns the decoded path.
public
decoded() : string
Return values
string —get()
Retrieves a single path segment.
public
get(int $offset) : string|null
If the segment offset has not been set, returns null.
Parameters
- $offset : int
Return values
string|null —getBasename()
Returns the path basename.
public
getBasename() : string
Return values
string —getContent()
Returns the instance content.
public
getContent() : string|null
If the instance is defined, the value returned MUST be encoded according to the selected encoding algorithm. In any case, the value MUST NOT double-encode any character depending on the selected encoding algorithm.
To determine what characters to encode, please refer to RFC 3986, Sections 2 and 3. or RFC 3987 Section 3. By default the content is encoded according to RFC3986
If the instance is not defined null is returned
Return values
string|null —getDirname()
Returns parent directory's path.
public
getDirname() : string
Return values
string —getExtension()
Returns the basename extension.
public
getExtension() : string
Return values
string —getIterator()
Iterate over the path segment.
public
getIterator() : Iterator<string|int, string>
Return values
Iterator<string|int, string> —getUriComponent()
Returns the instance string representation with its optional URI delimiters.
public
getUriComponent() : string
The value returned MUST be percent-encoded, but MUST NOT double-encode any characters. To determine what characters to encode, please refer to RFC 3986, Sections 2 and 3.
If the instance is not defined an empty string is returned
Return values
string —hasTrailingSlash()
Returns whether or not the path has a trailing delimiter.
public
hasTrailingSlash() : bool
Return values
bool —isAbsolute()
Returns whether or not the path is absolute or relative.
public
isAbsolute() : bool
Return values
bool —jsonSerialize()
Returns the instance json representation.
public
jsonSerialize() : string|null
If the instance is defined, the value returned MUST be percent-encoded, but MUST NOT double-encode any characters. To determine what characters to encode, please refer to RFC 3986 or RFC 1738.
If the instance is not defined null is returned
Return values
string|null —keys()
Returns the associated key for a specific segment.
public
keys([string|null $segment = null ]) : array<string|int, int>
If a value is specified only the keys associated with the given value will be returned
Parameters
- $segment : string|null = null
Return values
array<string|int, int> —prepend()
Prepends a segment to the path.
public
prepend(string $segment) : self
Parameters
- $segment : string
Return values
self —withBasename()
Returns an instance with the specified basename.
public
withBasename(string|null $basename) : self
This method MUST retain the state of the current instance, and return an instance that contains the extension basename modified.
Parameters
- $basename : string|null
Return values
self —withContent()
Returns an instance with the specified content.
public
withContent(string|null $content) : self
This method MUST retain the state of the current instance, and return an instance that contains the specified content.
Users can provide both encoded and decoded content characters.
A null value is equivalent to removing the component content.
Parameters
- $content : string|null
Tags
Return values
self —withDirname()
Returns an instance with the specified parent directory's path.
public
withDirname(string|null $path) : self
This method MUST retain the state of the current instance, and return an instance that contains the extension basename modified.
Parameters
- $path : string|null
Return values
self —withExtension()
Returns an instance with the specified basename extension.
public
withExtension(string|null $extension) : self
This method MUST retain the state of the current instance, and return an instance that contains the extension basename modified.
Parameters
- $extension : string|null
Return values
self —withLeadingSlash()
Returns an instance with a leading slash.
public
withLeadingSlash() : self
This method MUST retain the state of the current instance, and return an instance that contains the path component with a leading slash
Tags
Return values
self —withoutDotSegments()
Returns an instance without dot segments.
public
withoutDotSegments() : self
This method MUST retain the state of the current instance, and return an instance that contains the path component normalized by removing the dot segment.
Tags
Return values
self —withoutEmptySegments()
Returns an instance without duplicate delimiters.
public
withoutEmptySegments() : self
This method MUST retain the state of the current instance, and return an instance that contains the path component normalized by removing multiple consecutive empty segment
Return values
self —withoutLeadingSlash()
Returns an instance without a leading slash.
public
withoutLeadingSlash() : self
This method MUST retain the state of the current instance, and return an instance that contains the path component without a leading slash
Tags
Return values
self —withoutSegment()
Returns an instance without the specified segment.
public
withoutSegment(int ...$keys) : self
This method MUST retain the state of the current instance, and return an instance that contains the modified component
If $key is non-negative, the removed segment will be the segment at $key position from the start. If $key is negative, the removed segment will be the segment at $key position from the end.
Parameters
- $keys : int
-
remaining keys to remove
Tags
Return values
self —withoutTrailingSlash()
Returns an instance without a trailing slash.
public
withoutTrailingSlash() : self
This method MUST retain the state of the current instance, and return an instance that contains the path component without a trailing slash
Tags
Return values
self —withSegment()
Returns an instance with the modified segment.
public
withSegment(int $key, string|null $segment) : self
This method MUST retain the state of the current instance, and return an instance that contains the new segment
If $key is non-negative, the added segment will be the segment at $key position from the start. If $key is negative, the added segment will be the segment at $key position from the end.
Parameters
- $key : int
- $segment : string|null
Tags
Return values
self —withTrailingSlash()
Returns an instance with a trailing slash.
public
withTrailingSlash() : self
This method MUST retain the state of the current instance, and return an instance that contains the path component with a trailing slash