class RouteCollection implements IteratorAggregate, Countable

A RouteCollection represents a set of Route instances.

When adding a route at the end of the collection, an existing route with the same name is removed first. So there can only be one route with a given name.

Methods

__clone()

No description

ArrayIterator|Route[]
getIterator()

Gets the current RouteCollection as an Iterator that includes all routes.

int
count()

Gets the number of Routes in this collection.

add(string $name, Route $route)

Adds a route.

Route[]
all()

Returns all routes in this collection.

Route|null
get(string $name)

Gets a route by name.

remove(string|string[] $name)

Removes a route or an array of routes by name from the collection.

addCollection(RouteCollection $collection)

Adds a route collection at the end of the current set by appending all routes of the added collection.

addPrefix(string $prefix, array $defaults = array(), array $requirements = array())

Adds a prefix to the path of all child routes.

addNamePrefix(string $prefix)

Adds a prefix to the name of all the routes within in the collection.

setHost(string $pattern, array $defaults = array(), array $requirements = array())

Sets the host pattern on all routes.

setCondition(string $condition)

Sets a condition on all routes.

addDefaults(array $defaults)

Adds defaults to all routes.

addRequirements(array $requirements)

Adds requirements to all routes.

addOptions(array $options)

Adds options to all routes.

setSchemes(string|string[] $schemes)

Sets the schemes (e.g. 'https') all child routes are restricted to.

setMethods(string|string[] $methods)

Sets the HTTP methods (e.g. 'POST') all child routes are restricted to.

getResources()

Returns an array of resources loaded to build this collection.

addResource(ResourceInterface $resource)

Adds a resource for this collection. If the resource already exists it is not added.

Details

at line line 38
__clone()

at line line 54
ArrayIterator|Route[] getIterator()

Gets the current RouteCollection as an Iterator that includes all routes.

It implements \IteratorAggregate.

Return Value

ArrayIterator|Route[] An \ArrayIterator object for iterating over routes

See also

all()

at line line 64
int count()

Gets the number of Routes in this collection.

Return Value

int The number of routes

at line line 75
add(string $name, Route $route)

Adds a route.

Parameters

string $name The route name
Route $route A Route instance

at line line 87
Route[] all()

Returns all routes in this collection.

Return Value

Route[] An array of routes

at line line 99
Route|null get(string $name)

Gets a route by name.

Parameters

string $name The route name

Return Value

Route|null A Route instance or null when not found

at line line 109
remove(string|string[] $name)

Removes a route or an array of routes by name from the collection.

Parameters

string|string[] $name The route name or an array of route names

at line line 120
addCollection(RouteCollection $collection)

Adds a route collection at the end of the current set by appending all routes of the added collection.

Parameters

RouteCollection $collection

at line line 141
addPrefix(string $prefix, array $defaults = array(), array $requirements = array())

Adds a prefix to the path of all child routes.

Parameters

string $prefix An optional prefix to add before each pattern of the route collection
array $defaults An array of default values
array $requirements An array of requirements

at line line 159
addNamePrefix(string $prefix)

Adds a prefix to the name of all the routes within in the collection.

Parameters

string $prefix

at line line 177
setHost(string $pattern, array $defaults = array(), array $requirements = array())

Sets the host pattern on all routes.

Parameters

string $pattern The pattern
array $defaults An array of default values
array $requirements An array of requirements

at line line 193
setCondition(string $condition)

Sets a condition on all routes.

Existing conditions will be overridden.

Parameters

string $condition The condition

at line line 207
addDefaults(array $defaults)

Adds defaults to all routes.

An existing default value under the same name in a route will be overridden.

Parameters

array $defaults An array of default values

at line line 223
addRequirements(array $requirements)

Adds requirements to all routes.

An existing requirement under the same name in a route will be overridden.

Parameters

array $requirements An array of requirements

at line line 239
addOptions(array $options)

Adds options to all routes.

An existing option value under the same name in a route will be overridden.

Parameters

array $options An array of options

at line line 253
setSchemes(string|string[] $schemes)

Sets the schemes (e.g. 'https') all child routes are restricted to.

Parameters

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

at line line 265
setMethods(string|string[] $methods)

Sets the HTTP methods (e.g. 'POST') all child routes are restricted to.

Parameters

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

at line line 277
ResourceInterface[] getResources()

Returns an array of resources loaded to build this collection.

Return Value

ResourceInterface[] An array of resources

at line line 286
addResource(ResourceInterface $resource)

Adds a resource for this collection. If the resource already exists it is not added.

Parameters

ResourceInterface $resource