Documentation

SegmentedPathInterface extends Countable, IteratorAggregate, PathInterface

Tags
extends

\IteratorAggregate

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

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
throws
SyntaxError

for invalid component or transformations that would result in a object in invalid state.

throws
IdnSupportMissing

for component or transformations requiring IDN support when IDN support is not present or misconfigured.

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
throws
SyntaxError

for invalid component or transformations that would result in a object in invalid state.

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
throws
SyntaxError

for invalid component or transformations that would result in a object in invalid state.

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
throws
SyntaxError

for invalid component or transformations that would result in a object in invalid state.

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
throws
SyntaxError

If the key is invalid

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
throws
SyntaxError

for invalid component or transformations that would result in a object in invalid state.

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
throws
SyntaxError

If the key is invalid

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

Tags
throws
SyntaxError

for invalid component or transformations that would result in a object in invalid state.

Return values
self

Search results