Route

class Route implements Serializable

A Route describes a route and its parameters.

Methods

__construct(string $path, array $defaults = array(), array $requirements = array(), array $options = array(), string $host = '', string|array $schemes = array(), string|array $methods = array(), string $condition = '')

Constructor.

serialize()

{@inheritdoc}

unserialize($serialized)

{@inheritdoc}

string getPath()

Returns the pattern for the path.

Route setPath(string $pattern)

Sets the pattern for the path.

string getHost()

Returns the pattern for the host.

Route setHost(string $pattern)

Sets the pattern for the host.

array getSchemes()

Returns the lowercased schemes this route is restricted to.

Route setSchemes(string|array $schemes)

Sets the schemes (e.g. 'https') this route is restricted to.

bool hasScheme(string $scheme)

Checks if a scheme requirement has been set.

array getMethods()

Returns the uppercased HTTP methods this route is restricted to.

Route setMethods(string|array $methods)

Sets the HTTP methods (e.g. 'POST') this route is restricted to.

array getOptions()

Returns the options.

Route setOptions(array $options)

Sets the options.

Route addOptions(array $options)

Adds options.

Route setOption(string $name, mixed $value)

Sets an option value.

mixed getOption(string $name)

Get an option value.

bool hasOption(string $name)

Checks if an option has been set.

array getDefaults()

Returns the defaults.

Route setDefaults(array $defaults)

Sets the defaults.

Route addDefaults(array $defaults)

Adds defaults.

mixed getDefault(string $name)

Gets a default value.

bool hasDefault(string $name)

Checks if a default value is set for the given variable.

Route setDefault(string $name, mixed $default)

Sets a default value.

array getRequirements()

Returns the requirements.

Route setRequirements(array $requirements)

Sets the requirements.

Route addRequirements(array $requirements)

Adds requirements.

string|null getRequirement(string $key)

Returns the requirement for the given key.

bool hasRequirement(string $key)

Checks if a requirement is set for the given key.

Route setRequirement(string $key, string $regex)

Sets a requirement for the given key.

string getCondition()

Returns the condition.

Route setCondition(string $condition)

Sets the condition.

CompiledRoute compile()

Compiles the route.

Details

__construct(string $path, array $defaults = array(), array $requirements = array(), array $options = array(), string $host = '', string|array $schemes = array(), string|array $methods = array(), string $condition = '')

Constructor.

Available options:

  • compiler_class: A class name able to compile this route instance (RouteCompiler by default)

Parameters

string $path The path pattern to match
array $defaults An array of default parameter values
array $requirements An array of requirements for parameters (regexes)
array $options An array of options
string $host The host pattern to match
string|array $schemes A required URI scheme or an array of restricted schemes
string|array $methods A required HTTP method or an array of restricted methods
string $condition A condition that should evaluate to true for the route to match

serialize()

{@inheritdoc}

unserialize($serialized)

{@inheritdoc}

Parameters

$serialized

string getPath()

Returns the pattern for the path.

Return Value

string The path pattern

Route setPath(string $pattern)

Sets the pattern for the path.

This method implements a fluent interface.

Parameters

string $pattern The path pattern

Return Value

Route The current Route instance

string getHost()

Returns the pattern for the host.

Return Value

string The host pattern

Route setHost(string $pattern)

Sets the pattern for the host.

This method implements a fluent interface.

Parameters

string $pattern The host pattern

Return Value

Route The current Route instance

array getSchemes()

Returns the lowercased schemes this route is restricted to.

So an empty array means that any scheme is allowed.

Return Value

array The schemes

Route setSchemes(string|array $schemes)

Sets the schemes (e.g. 'https') this route is restricted to.

So an empty array means that any scheme is allowed.

This method implements a fluent interface.

Parameters

string|array $schemes The scheme or an array of schemes

Return Value

Route The current Route instance

bool hasScheme(string $scheme)

Checks if a scheme requirement has been set.

Parameters

string $scheme

Return Value

bool true if the scheme requirement exists, otherwise false

array getMethods()

Returns the uppercased HTTP methods this route is restricted to.

So an empty array means that any method is allowed.

Return Value

array The methods

Route setMethods(string|array $methods)

Sets the HTTP methods (e.g. 'POST') this route is restricted to.

So an empty array means that any method is allowed.

This method implements a fluent interface.

Parameters

string|array $methods The method or an array of methods

Return Value

Route The current Route instance

array getOptions()

Returns the options.

Return Value

array The options

Route setOptions(array $options)

Sets the options.

This method implements a fluent interface.

Parameters

array $options The options

Return Value

Route The current Route instance

Route addOptions(array $options)

Adds options.

This method implements a fluent interface.

Parameters

array $options The options

Return Value

Route The current Route instance

Route setOption(string $name, mixed $value)

Sets an option value.

This method implements a fluent interface.

Parameters

string $name An option name
mixed $value The option value

Return Value

Route The current Route instance

mixed getOption(string $name)

Get an option value.

Parameters

string $name An option name

Return Value

mixed The option value or null when not given

bool hasOption(string $name)

Checks if an option has been set.

Parameters

string $name An option name

Return Value

bool true if the option is set, false otherwise

array getDefaults()

Returns the defaults.

Return Value

array The defaults

Route setDefaults(array $defaults)

Sets the defaults.

This method implements a fluent interface.

Parameters

array $defaults The defaults

Return Value

Route The current Route instance

Route addDefaults(array $defaults)

Adds defaults.

This method implements a fluent interface.

Parameters

array $defaults The defaults

Return Value

Route The current Route instance

mixed getDefault(string $name)

Gets a default value.

Parameters

string $name A variable name

Return Value

mixed The default value or null when not given

bool hasDefault(string $name)

Checks if a default value is set for the given variable.

Parameters

string $name A variable name

Return Value

bool true if the default value is set, false otherwise

Route setDefault(string $name, mixed $default)

Sets a default value.

Parameters

string $name A variable name
mixed $default The default value

Return Value

Route The current Route instance

array getRequirements()

Returns the requirements.

Return Value

array The requirements

Route setRequirements(array $requirements)

Sets the requirements.

This method implements a fluent interface.

Parameters

array $requirements The requirements

Return Value

Route The current Route instance

Route addRequirements(array $requirements)

Adds requirements.

This method implements a fluent interface.

Parameters

array $requirements The requirements

Return Value

Route The current Route instance

string|null getRequirement(string $key)

Returns the requirement for the given key.

Parameters

string $key The key

Return Value

string|null The regex or null when not given

bool hasRequirement(string $key)

Checks if a requirement is set for the given key.

Parameters

string $key A variable name

Return Value

bool true if a requirement is specified, false otherwise

Route setRequirement(string $key, string $regex)

Sets a requirement for the given key.

Parameters

string $key The key
string $regex The regex

Return Value

Route The current Route instance

string getCondition()

Returns the condition.

Return Value

string The condition

Route setCondition(string $condition)

Sets the condition.

This method implements a fluent interface.

Parameters

string $condition The condition

Return Value

Route The current Route instance

CompiledRoute compile()

Compiles the route.

Return Value

CompiledRoute A CompiledRoute instance

Exceptions

LogicException If the Route cannot be compiled because the path or host pattern is invalid

See also

RouteCompiler which is responsible for the compilation process

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Component/Routing/Route.html