Route
    
            
            in package
            
        
    
            
            implements
                            Serializable                    
    
    
        
            A Route describes a route and its parameters.
Tags
Interfaces, Classes, Traits and Enums
- Serializable
 
Table of Contents
- $compiled : CompiledRoute|null
 - $condition : mixed
 - $defaults : mixed
 - $host : mixed
 - $methods : mixed
 - $options : mixed
 - $path : mixed
 - $requirements : mixed
 - $schemes : mixed
 - __construct() : mixed
 - Constructor.
 - __serialize() : array<string|int, mixed>
 - __unserialize() : void
 - addDefaults() : $this
 - Adds defaults.
 - addOptions() : $this
 - Adds options.
 - addRequirements() : $this
 - Adds requirements.
 - compile() : CompiledRoute
 - Compiles the route.
 - getCondition() : string
 - Returns the condition.
 - getDefault() : mixed
 - Gets a default value.
 - getDefaults() : array<string|int, mixed>
 - Returns the defaults.
 - getHost() : string
 - Returns the pattern for the host.
 - getMethods() : array<string|int, string>
 - Returns the uppercased HTTP methods this route is restricted to.
 - getOption() : mixed
 - Get an option value.
 - getOptions() : array<string|int, mixed>
 - Returns the options.
 - getPath() : string
 - Returns the pattern for the path.
 - getRequirement() : string|null
 - Returns the requirement for the given key.
 - getRequirements() : array<string|int, mixed>
 - Returns the requirements.
 - getSchemes() : array<string|int, string>
 - Returns the lowercased schemes this route is restricted to.
 - hasDefault() : bool
 - Checks if a default value is set for the given variable.
 - hasOption() : bool
 - Checks if an option has been set.
 - hasRequirement() : bool
 - Checks if a requirement is set for the given key.
 - hasScheme() : bool
 - Checks if a scheme requirement has been set.
 - setCondition() : $this
 - Sets the condition.
 - setDefault() : $this
 - Sets a default value.
 - setDefaults() : $this
 - Sets the defaults.
 - setHost() : $this
 - Sets the pattern for the host.
 - setMethods() : $this
 - Sets the HTTP methods (e.g. 'POST') this route is restricted to.
 - setOption() : $this
 - Sets an option value.
 - setOptions() : $this
 - Sets the options.
 - setPath() : $this
 - Sets the pattern for the path.
 - setRequirement() : $this
 - Sets a requirement for the given key.
 - setRequirements() : $this
 - Sets the requirements.
 - setSchemes() : $this
 - Sets the schemes (e.g. 'https') this route is restricted to.
 - isLocalized() : bool
 - sanitizeRequirement() : mixed
 
Properties
$compiled
    private
        CompiledRoute|null
    $compiled
    
    
    
    
$condition
    private
        mixed
    $condition
     = ''
        
        
    
$defaults
    private
        mixed
    $defaults
     = []
        
        
    
$host
    private
        mixed
    $host
     = ''
        
        
    
$methods
    private
        mixed
    $methods
     = []
        
        
    
$options
    private
        mixed
    $options
     = []
        
        
    
$path
    private
        mixed
    $path
     = '/'
        
        
    
$requirements
    private
        mixed
    $requirements
     = []
        
        
    
$schemes
    private
        mixed
    $schemes
     = []
        
        
    
Methods
__construct()
Constructor.
    public
                    __construct(string $path[, array<string|int, mixed> $defaults = [] ][, array<string|int, mixed> $requirements = [] ][, array<string|int, mixed> $options = [] ][, string|null $host = '' ][, string|array<string|int, string> $schemes = [] ][, string|array<string|int, string> $methods = [] ][, string|null $condition = '' ]) : mixed
        Available options:
- compiler_class: A class name able to compile this route instance (RouteCompiler by default)
 - utf8: Whether UTF-8 matching is enforced ot not
 
Parameters
- $path : string
 - 
                    
The path pattern to match
 - $defaults : array<string|int, mixed> = []
 - 
                    
An array of default parameter values
 - $requirements : array<string|int, mixed> = []
 - 
                    
An array of requirements for parameters (regexes)
 - $options : array<string|int, mixed> = []
 - 
                    
An array of options
 - $host : string|null = ''
 - 
                    
The host pattern to match
 - $schemes : string|array<string|int, string> = []
 - 
                    
A required URI scheme or an array of restricted schemes
 - $methods : string|array<string|int, string> = []
 - 
                    
A required HTTP method or an array of restricted methods
 - $condition : string|null = ''
 - 
                    
A condition that should evaluate to true for the route to match
 
Return values
mixed —__serialize()
    public
                    __serialize() : array<string|int, mixed>
        
    
    
        Return values
array<string|int, mixed> —__unserialize()
    public
                    __unserialize(array<string|int, mixed> $data) : void
        
        Parameters
- $data : array<string|int, mixed>
 
Return values
void —addDefaults()
Adds defaults.
    public
                    addDefaults(array<string|int, mixed> $defaults) : $this
        This method implements a fluent interface.
Parameters
- $defaults : array<string|int, mixed>
 - 
                    
The defaults
 
Return values
$this —addOptions()
Adds options.
    public
                    addOptions(array<string|int, mixed> $options) : $this
        This method implements a fluent interface.
Parameters
- $options : array<string|int, mixed>
 
Return values
$this —addRequirements()
Adds requirements.
    public
                    addRequirements(array<string|int, mixed> $requirements) : $this
        This method implements a fluent interface.
Parameters
- $requirements : array<string|int, mixed>
 - 
                    
The requirements
 
Return values
$this —compile()
Compiles the route.
    public
                    compile() : CompiledRoute
    
    
    
    Tags
Return values
CompiledRoute —A CompiledRoute instance
getCondition()
Returns the condition.
    public
                    getCondition() : string
    
    
    
        Return values
string —The condition
getDefault()
Gets a default value.
    public
                    getDefault(string $name) : mixed
    
        Parameters
- $name : string
 
Return values
mixed —The default value or null when not given
getDefaults()
Returns the defaults.
    public
                    getDefaults() : array<string|int, mixed>
    
    
    
        Return values
array<string|int, mixed> —The defaults
getHost()
Returns the pattern for the host.
    public
                    getHost() : string
    
    
    
        Return values
string —The host pattern
getMethods()
Returns the uppercased HTTP methods this route is restricted to.
    public
                    getMethods() : array<string|int, string>
        So an empty array means that any method is allowed.
Return values
array<string|int, string> —The methods
getOption()
Get an option value.
    public
                    getOption(string $name) : mixed
    
        Parameters
- $name : string
 
Return values
mixed —The option value or null when not given
getOptions()
Returns the options.
    public
                    getOptions() : array<string|int, mixed>
    
    
    
        Return values
array<string|int, mixed> —The options
getPath()
Returns the pattern for the path.
    public
                    getPath() : string
    
    
    
        Return values
string —The path pattern
getRequirement()
Returns the requirement for the given key.
    public
                    getRequirement(string $key) : string|null
    
        Parameters
- $key : string
 
Return values
string|null —The regex or null when not given
getRequirements()
Returns the requirements.
    public
                    getRequirements() : array<string|int, mixed>
    
    
    
        Return values
array<string|int, mixed> —The requirements
getSchemes()
Returns the lowercased schemes this route is restricted to.
    public
                    getSchemes() : array<string|int, string>
        So an empty array means that any scheme is allowed.
Return values
array<string|int, string> —The schemes
hasDefault()
Checks if a default value is set for the given variable.
    public
                    hasDefault(string $name) : bool
    
        Parameters
- $name : string
 
Return values
bool —true if the default value is set, false otherwise
hasOption()
Checks if an option has been set.
    public
                    hasOption(string $name) : bool
    
        Parameters
- $name : string
 
Return values
bool —true if the option is set, false otherwise
hasRequirement()
Checks if a requirement is set for the given key.
    public
                    hasRequirement(string $key) : bool
    
        Parameters
- $key : string
 
Return values
bool —true if a requirement is specified, false otherwise
hasScheme()
Checks if a scheme requirement has been set.
    public
                    hasScheme(string $scheme) : bool
    
        Parameters
- $scheme : string
 
Return values
bool —true if the scheme requirement exists, otherwise false
setCondition()
Sets the condition.
    public
                    setCondition(string|null $condition) : $this
        This method implements a fluent interface.
Parameters
- $condition : string|null
 
Return values
$this —setDefault()
Sets a default value.
    public
                    setDefault(string $name, mixed $default) : $this
    
        Parameters
- $name : string
 - $default : mixed
 - 
                    
The default value
 
Return values
$this —setDefaults()
Sets the defaults.
    public
                    setDefaults(array<string|int, mixed> $defaults) : $this
        This method implements a fluent interface.
Parameters
- $defaults : array<string|int, mixed>
 - 
                    
The defaults
 
Return values
$this —setHost()
Sets the pattern for the host.
    public
                    setHost(string|null $pattern) : $this
        This method implements a fluent interface.
Parameters
- $pattern : string|null
 
Return values
$this —setMethods()
Sets the HTTP methods (e.g. 'POST') this route is restricted to.
    public
                    setMethods(string|array<string|int, string> $methods) : $this
        So an empty array means that any method is allowed.
This method implements a fluent interface.
Parameters
- $methods : string|array<string|int, string>
 - 
                    
The method or an array of methods
 
Return values
$this —setOption()
Sets an option value.
    public
                    setOption(string $name, mixed $value) : $this
        This method implements a fluent interface.
Parameters
- $name : string
 - $value : mixed
 - 
                    
The option value
 
Return values
$this —setOptions()
Sets the options.
    public
                    setOptions(array<string|int, mixed> $options) : $this
        This method implements a fluent interface.
Parameters
- $options : array<string|int, mixed>
 
Return values
$this —setPath()
Sets the pattern for the path.
    public
                    setPath(string $pattern) : $this
        This method implements a fluent interface.
Parameters
- $pattern : string
 
Return values
$this —setRequirement()
Sets a requirement for the given key.
    public
                    setRequirement(string $key, string $regex) : $this
    
        Parameters
- $key : string
 - $regex : string
 
Return values
$this —setRequirements()
Sets the requirements.
    public
                    setRequirements(array<string|int, mixed> $requirements) : $this
        This method implements a fluent interface.
Parameters
- $requirements : array<string|int, mixed>
 - 
                    
The requirements
 
Return values
$this —setSchemes()
Sets the schemes (e.g. 'https') this route is restricted to.
    public
                    setSchemes(string|array<string|int, string> $schemes) : $this
        So an empty array means that any scheme is allowed.
This method implements a fluent interface.
Parameters
- $schemes : string|array<string|int, string>
 - 
                    
The scheme or an array of schemes
 
Return values
$this —isLocalized()
    private
                    isLocalized() : bool
        
    
    
        Return values
bool —sanitizeRequirement()
    private
                    sanitizeRequirement(string $key, string $regex) : mixed
        
        Parameters
- $key : string
 - $regex : string