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

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|array $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.

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|array $schemes)

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

setMethods(string|array $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.

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|array $name)

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

Parameters

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

at line line 122
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 A RouteCollection instance

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 163
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 179
setCondition(string $condition)

Sets a condition on all routes.

Existing conditions will be overridden.

Parameters

string $condition The condition

at line line 193
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 209
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 225
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 239
setSchemes(string|array $schemes)

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

Parameters

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

at line line 251
setMethods(string|array $methods)

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

Parameters

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

at line line 263
ResourceInterface[] getResources()

Returns an array of resources loaded to build this collection.

Return Value

ResourceInterface[] An array of resources

at line line 273
addResource(ResourceInterface $resource)

Adds a resource for this collection.

Parameters

ResourceInterface $resource A resource instance