class RouteCollection implements Countable, IteratorAggregate (View source)

Properties

protected array $routes An array of the routes keyed by method.
protected array $allRoutes An flattened array of all of the routes.
protected array $nameList A look-up table of routes by their names.
protected array $actionList A look-up table of routes by controller action.

Methods

add(Route $route)

Add a Route instance to the collection.

void
addToCollections(Route $route)

Add the given route to the arrays of routes.

void
addLookups(Route $route)

Add the route to any look-up tables if necessary.

void
refreshNameLookups()

Refresh the name look-up table.

void
addToActionList(array $action, Route $route)

Add a route to the controller action dictionary.

match(Request $request)

Find the first route matching a given request.

array
checkForAlternateVerbs(Request $request)

Determine if any routes match on another HTTP verb.

getRouteForMethods(Request $request, array $methods)

Get a route (if necessary) that responds when other available methods are present.

void
methodNotAllowed(array $others)

Throw a method not allowed HTTP exception.

Route|null
check(array $routes, Request $request, bool $includingMethod = true)

Determine if a route in the array matches the request.

array
get(string|null $method = null)

Get all of the routes in the collection.

bool
hasNamedRoute(string $name)

Determine if the route collection contains a given named route.

Route|null
getByName(string $name)

Get a route instance by its name.

Route|null
getByAction(string $action)

Get a route instance by its controller action.

array
getRoutes()

Get all of the routes in the collection.

array
getRoutesByMethod()

Get all of the routes keyed by their HTTP verb / method.

getIterator()

Get an iterator for the items.

int
count()

Count the number of items in the collection.

Details

Route add(Route $route)

Add a Route instance to the collection.

Parameters

Route $route

Return Value

Route

protected void addToCollections(Route $route)

Add the given route to the arrays of routes.

Parameters

Route $route

Return Value

void

protected void addLookups(Route $route)

Add the route to any look-up tables if necessary.

Parameters

Route $route

Return Value

void

void refreshNameLookups()

Refresh the name look-up table.

This is done in case any names are fluently defined.

Return Value

void

protected void addToActionList(array $action, Route $route)

Add a route to the controller action dictionary.

Parameters

array $action
Route $route

Return Value

void

Route match(Request $request)

Find the first route matching a given request.

Parameters

Request $request

Return Value

Route

Exceptions

NotFoundHttpException

protected array checkForAlternateVerbs(Request $request)

Determine if any routes match on another HTTP verb.

Parameters

Request $request

Return Value

array

protected Route getRouteForMethods(Request $request, array $methods)

Get a route (if necessary) that responds when other available methods are present.

Parameters

Request $request
array $methods

Return Value

Route

Exceptions

MethodNotAllowedHttpException

protected void methodNotAllowed(array $others)

Throw a method not allowed HTTP exception.

Parameters

array $others

Return Value

void

Exceptions

MethodNotAllowedHttpException

protected Route|null check(array $routes, Request $request, bool $includingMethod = true)

Determine if a route in the array matches the request.

Parameters

array $routes
Request $request
bool $includingMethod

Return Value

Route|null

array get(string|null $method = null)

Get all of the routes in the collection.

Parameters

string|null $method

Return Value

array

bool hasNamedRoute(string $name)

Determine if the route collection contains a given named route.

Parameters

string $name

Return Value

bool

Route|null getByName(string $name)

Get a route instance by its name.

Parameters

string $name

Return Value

Route|null

Route|null getByAction(string $action)

Get a route instance by its controller action.

Parameters

string $action

Return Value

Route|null

array getRoutes()

Get all of the routes in the collection.

Return Value

array

array getRoutesByMethod()

Get all of the routes keyed by their HTTP verb / method.

Return Value

array

ArrayIterator getIterator()

Get an iterator for the items.

Return Value

ArrayIterator

int count()

Count the number of items in the collection.

Return Value

int