class AbsolutePath extends AbstractPath implements AbsolutePathInterface
Represents an absolute path.
Constants
ATOM_SEPARATOR |
The character used to separate path atoms.
|
EXTENSION_SEPARATOR |
The character used to separate path name atoms.
|
PARENT_ATOM |
The atom used to represent 'parent'.
|
SELF_ATOM |
The atom used to represent 'self'.
|
Methods
__construct(mixed<string> $atoms, boolean|null $hasTrailingSeparator = null)
Construct a new path instance. |
from AbstractPath | |
array<integer,string> |
atoms()
Get the atoms of this path. |
from AbstractPath |
string |
atomAt(integer $index)
Get a single path atom by index. |
from AbstractPath |
mixed |
atomAtDefault(integer $index, mixed $default = null)
Get a single path atom by index, falling back to a default if the index is undefined. |
from AbstractPath |
array<integer,string> |
sliceAtoms(integer $index, integer|null $length = null)
Get a subset of the atoms of this path. |
from AbstractPath |
boolean |
hasAtoms()
Determine if this path has any atoms. |
from AbstractPath |
boolean |
hasTrailingSeparator()
Determine if this path has a trailing separator. |
from AbstractPath |
string |
string()
Generate a string representation of this path. |
|
string |
__toString()
Generate a string representation of this path. |
from AbstractPath |
string |
name()
Get this path's name. |
from AbstractPath |
array<integer,string> |
nameAtoms()
Get this path's name atoms. |
from AbstractPath |
string |
nameAtomAt(integer $index)
Get a single path name atom by index. |
from AbstractPath |
mixed |
nameAtomAtDefault(integer $index, mixed $default = null)
Get a single path name atom by index, falling back to a default if the index is undefined. |
from AbstractPath |
array<integer,string> |
sliceNameAtoms(integer $index, integer|null $length = null)
Get a subset of this path's name atoms. |
from AbstractPath |
string |
nameWithoutExtension()
Get this path's name, excluding the last extension. |
from AbstractPath |
string |
namePrefix()
Get this path's name, excluding all extensions. |
from AbstractPath |
string|null |
nameSuffix()
Get all of this path's extensions. |
from AbstractPath |
string|null |
extension()
Get this path's last extension. |
from AbstractPath |
boolean |
hasExtension()
Determine if this path has any extensions. |
from AbstractPath |
boolean |
contains(string $needle, boolean|null $caseSensitive = null)
Determine if this path contains a substring. |
from AbstractPath |
boolean |
startsWith(string $needle, boolean|null $caseSensitive = null)
Determine if this path starts with a substring. |
from AbstractPath |
boolean |
endsWith(string $needle, boolean|null $caseSensitive = null)
Determine if this path ends with a substring. |
from AbstractPath |
boolean |
matches(string $pattern, boolean|null $caseSensitive = null, integer|null $flags = null)
Determine if this path matches a wildcard pattern. |
from AbstractPath |
boolean |
matchesRegex(string $pattern, array $matches = null, integer|null $flags = null, integer|null $offset = null)
Determine if this path matches a regular expression. |
from AbstractPath |
boolean |
nameContains(string $needle, boolean|null $caseSensitive = null)
Determine if this path's name contains a substring. |
from AbstractPath |
boolean |
nameStartsWith(string $needle, boolean|null $caseSensitive = null)
Determine if this path's name starts with a substring. |
from AbstractPath |
boolean |
nameMatches(string $pattern, boolean|null $caseSensitive = null, integer|null $flags = null)
Determine if this path's name matches a wildcard pattern. |
from AbstractPath |
boolean |
nameMatchesRegex(string $pattern, array $matches = null, integer|null $flags = null, integer|null $offset = null)
Determine if this path's name matches a regular expression. |
from AbstractPath |
PathInterface |
parent(integer|null $numLevels = null)
Get the parent of this path a specified number of levels up. |
from AbstractPath |
PathInterface |
stripTrailingSlash()
Strips the trailing slash from this path. |
from AbstractPath |
PathInterface |
stripExtension()
Strips the last extension from this path. |
from AbstractPath |
PathInterface |
stripNameSuffix()
Strips all extensions from this path. |
from AbstractPath |
PathInterface |
joinAtoms($atom)
Joins one or more atoms to this path. |
from AbstractPath |
PathInterface |
joinAtomSequence(mixed<string> $atoms)
Joins a sequence of atoms to this path. |
from AbstractPath |
PathInterface |
join(RelativePathInterface $path)
Joins the supplied path to this path. |
from AbstractPath |
PathInterface |
joinTrailingSlash()
Adds a trailing slash to this path. |
|
PathInterface |
joinExtensions($extension)
Joins one or more extensions to this path. |
from AbstractPath |
PathInterface |
joinExtensionSequence(mixed<string> $extensions)
Joins a sequence of extensions to this path. |
from AbstractPath |
PathInterface |
suffixName(string $suffix)
Suffixes this path's name with a supplied string. |
from AbstractPath |
PathInterface |
prefixName(string $prefix)
Prefixes this path's name with a supplied string. |
from AbstractPath |
PathInterface |
replace(integer $index, mixed<string> $replacement, integer|null $length = null)
Replace a section of this path with the supplied atom sequence. |
from AbstractPath |
PathInterface |
replaceName(string $name)
Replace this path's name. |
from AbstractPath |
PathInterface |
replaceNameWithoutExtension(string $nameWithoutExtension)
Replace this path's name, but keep the last extension. |
from AbstractPath |
PathInterface |
replaceNamePrefix(string $namePrefix)
Replace this path's name, but keep any extensions. |
from AbstractPath |
PathInterface |
replaceNameSuffix(string|null $nameSuffix)
Replace all of this path's extensions. |
from AbstractPath |
PathInterface |
replaceExtension(string|null $extension)
Replace this path's last extension. |
from AbstractPath |
PathInterface |
replaceNameAtoms(integer $index, mixed<string> $replacement, integer|null $length = null)
Replace a section of this path's name with the supplied name atom sequence. |
from AbstractPath |
PathInterface |
normalize()
Normalize this path to its most canonical form. |
from AbstractPath |
static AbsolutePathInterface |
fromString(string $path)
Creates a new absolute path from its string representation. |
|
static AbsolutePathInterface |
fromAtoms(mixed<string> $atoms, boolean|null $hasTrailingSeparator = null)
Creates a new absolute path from a set of path atoms. |
|
AbsolutePathInterface |
toAbsolute()
Get an absolute version of this path. |
|
RelativePathInterface |
toRelative()
Get a relative version of this path. |
|
boolean |
isRoot()
Determine whether this path is the root path. |
|
boolean |
isParentOf(AbsolutePathInterface $path)
Determine if this path is the direct parent of the supplied path. |
|
boolean |
isAncestorOf(AbsolutePathInterface $path)
Determine if this path is an ancestor of the supplied path. |
|
RelativePathInterface |
relativeTo(AbsolutePathInterface $path)
Determine the shortest path from the supplied path to this path. |
|
AbsolutePathInterface |
resolve(PathInterface $path)
Resolve the supplied path against this path. |
Details
in AbstractPath at line 47
public
__construct(mixed<string> $atoms, boolean|null $hasTrailingSeparator = null)
Construct a new path instance.
in AbstractPath at line 66
public array<integer,string>
atoms()
Get the atoms of this path.
For example, the path '/foo/bar' has the atoms 'foo' and 'bar'.
in AbstractPath at line 79
public string
atomAt(integer $index)
Get a single path atom by index.
in AbstractPath at line 98
public mixed
atomAtDefault(integer $index, mixed $default = null)
Get a single path atom by index, falling back to a default if the index is undefined.
in AbstractPath at line 120
public array<integer,string>
sliceAtoms(integer $index, integer|null $length = null)
Get a subset of the atoms of this path.
in AbstractPath at line 135
public boolean
hasAtoms()
Determine if this path has any atoms.
in AbstractPath at line 145
public boolean
hasTrailingSeparator()
Determine if this path has a trailing separator.
at line 63
public string
string()
Generate a string representation of this path.
in AbstractPath at line 167
public string
__toString()
Generate a string representation of this path.
in AbstractPath at line 177
public string
name()
Get this path's name.
in AbstractPath at line 196
public array<integer,string>
nameAtoms()
Get this path's name atoms.
For example, the path name 'foo.bar' has the atoms 'foo' and 'bar'.
in AbstractPath at line 209
public string
nameAtomAt(integer $index)
Get a single path name atom by index.
in AbstractPath at line 228
public mixed
nameAtomAtDefault(integer $index, mixed $default = null)
Get a single path name atom by index, falling back to a default if the index is undefined.
in AbstractPath at line 250
public array<integer,string>
sliceNameAtoms(integer $index, integer|null $length = null)
Get a subset of this path's name atoms.
in AbstractPath at line 265
public string
nameWithoutExtension()
Get this path's name, excluding the last extension.
in AbstractPath at line 282
public string
namePrefix()
Get this path's name, excluding all extensions.
in AbstractPath at line 294
public string|null
nameSuffix()
Get all of this path's extensions.
in AbstractPath at line 311
public string|null
extension()
Get this path's last extension.
in AbstractPath at line 328
public boolean
hasExtension()
Determine if this path has any extensions.
in AbstractPath at line 341
public boolean
contains(string $needle, boolean|null $caseSensitive = null)
Determine if this path contains a substring.
in AbstractPath at line 365
public boolean
startsWith(string $needle, boolean|null $caseSensitive = null)
Determine if this path starts with a substring.
in AbstractPath at line 389
public boolean
endsWith(string $needle, boolean|null $caseSensitive = null)
Determine if this path ends with a substring.
in AbstractPath at line 416
public boolean
matches(string $pattern, boolean|null $caseSensitive = null, integer|null $flags = null)
Determine if this path matches a wildcard pattern.
in AbstractPath at line 441
public boolean
matchesRegex(string $pattern, array $matches = null, integer|null $flags = null, integer|null $offset = null)
Determine if this path matches a regular expression.
in AbstractPath at line 471
public boolean
nameContains(string $needle, boolean|null $caseSensitive = null)
Determine if this path's name contains a substring.
in AbstractPath at line 495
public boolean
nameStartsWith(string $needle, boolean|null $caseSensitive = null)
Determine if this path's name starts with a substring.
in AbstractPath at line 520
public boolean
nameMatches(string $pattern, boolean|null $caseSensitive = null, integer|null $flags = null)
Determine if this path's name matches a wildcard pattern.
in AbstractPath at line 545
public boolean
nameMatchesRegex(string $pattern, array $matches = null, integer|null $flags = null, integer|null $offset = null)
Determine if this path's name matches a regular expression.
in AbstractPath at line 574
public PathInterface
parent(integer|null $numLevels = null)
Get the parent of this path a specified number of levels up.
in AbstractPath at line 595
public PathInterface
stripTrailingSlash()
Strips the trailing slash from this path.
in AbstractPath at line 613
public PathInterface
stripExtension()
Strips the last extension from this path.
in AbstractPath at line 623
public PathInterface
stripNameSuffix()
Strips all extensions from this path.
in AbstractPath at line 637
public PathInterface
joinAtoms($atom)
Joins one or more atoms to this path.
in AbstractPath at line 650
public PathInterface
joinAtomSequence(mixed<string> $atoms)
Joins a sequence of atoms to this path.
in AbstractPath at line 670
public PathInterface
join(RelativePathInterface $path)
Joins the supplied path to this path.
at line 73
public PathInterface
joinTrailingSlash()
Adds a trailing slash to this path.
in AbstractPath at line 702
public PathInterface
joinExtensions($extension)
Joins one or more extensions to this path.
in AbstractPath at line 715
public PathInterface
joinExtensionSequence(mixed<string> $extensions)
Joins a sequence of extensions to this path.
in AbstractPath at line 742
public PathInterface
suffixName(string $suffix)
Suffixes this path's name with a supplied string.
in AbstractPath at line 760
public PathInterface
prefixName(string $prefix)
Prefixes this path's name with a supplied string.
in AbstractPath at line 779
public PathInterface
replace(integer $index, mixed<string> $replacement, integer|null $length = null)
Replace a section of this path with the supplied atom sequence.
in AbstractPath at line 806
public PathInterface
replaceName(string $name)
Replace this path's name.
in AbstractPath at line 835
public PathInterface
replaceNameWithoutExtension(string $nameWithoutExtension)
Replace this path's name, but keep the last extension.
in AbstractPath at line 854
public PathInterface
replaceNamePrefix(string $namePrefix)
Replace this path's name, but keep any extensions.
in AbstractPath at line 866
public PathInterface
replaceNameSuffix(string|null $nameSuffix)
Replace all of this path's extensions.
in AbstractPath at line 898
public PathInterface
replaceExtension(string|null $extension)
Replace this path's last extension.
in AbstractPath at line 938
public PathInterface
replaceNameAtoms(integer $index, mixed<string> $replacement, integer|null $length = null)
Replace a section of this path's name with the supplied name atom sequence.
in AbstractPath at line 959
public PathInterface
normalize()
Normalize this path to its most canonical form.
at line 27
static public AbsolutePathInterface
fromString(string $path)
Creates a new absolute path from its string representation.
at line 47
static public AbsolutePathInterface
fromAtoms(mixed<string> $atoms, boolean|null $hasTrailingSeparator = null)
Creates a new absolute path from a set of path atoms.
at line 91
public AbsolutePathInterface
toAbsolute()
Get an absolute version of this path.
If this path is relative, a new absolute path with equivalent atoms will be returned. Otherwise, this path will be retured unaltered.
at line 105
public RelativePathInterface
toRelative()
Get a relative version of this path.
If this path is absolute, a new relative path with equivalent atoms will be returned. Otherwise, this path will be retured unaltered.
at line 123
public boolean
isRoot()
Determine whether this path is the root path.
The root path is an absolute path with no atoms.
at line 135
public boolean
isParentOf(AbsolutePathInterface $path)
Determine if this path is the direct parent of the supplied path.
at line 149
public boolean
isAncestorOf(AbsolutePathInterface $path)
Determine if this path is an ancestor of the supplied path.
at line 170
public RelativePathInterface
relativeTo(AbsolutePathInterface $path)
Determine the shortest path from the supplied path to this path.
For example, given path A equal to '/foo/bar', and path B equal to '/foo/baz', A relative to B would be '../bar'.
at line 207
public AbsolutePathInterface
resolve(PathInterface $path)
Resolve the supplied path against this path.