class Router implements Registrar (View source)

Traits

Properties

array $middlewarePriority The priority-sorted list of middleware.
static array $verbs All of the verbs supported by the router.

Methods

static void
macro(string $name, callable $macro)

Register a custom macro.

from Macroable
static bool
hasMacro(string $name)

Checks if macro is registered.

from Macroable
static mixed
__callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

from Macroable
mixed
__call(string $method, array $parameters)

Dynamically handle calls to the class.

from Macroable
void
__construct(Dispatcher $events, Container $container = null)

Create a new Router instance.

void
get(string $uri, Closure|array|string $action = null)

Register a new GET route with the router.

void
post(string $uri, Closure|array|string $action = null)

Register a new POST route with the router.

void
put(string $uri, Closure|array|string $action = null)

Register a new PUT route with the router.

void
patch(string $uri, Closure|array|string $action = null)

Register a new PATCH route with the router.

void
delete(string $uri, Closure|array|string $action = null)

Register a new DELETE route with the router.

void
options(string $uri, Closure|array|string $action = null)

Register a new OPTIONS route with the router.

any(string $uri, Closure|array|string|null $action = null)

Register a new route responding to all verbs.

void
match(array|string $methods, string $uri, Closure|array|string $action = null)

Register a new route with the given verbs.

void
singularResourceParameters(bool $singular = true)

Set the unmapped global resource parameters to singular.

void
resourceParameters(array $parameters = array())

Set the global resource parameter mapping.

array|null
resourceVerbs(array $verbs = array())

Get or set the verbs used in the resource URIs.

void
resources(array $resources)

Register an array of resource controllers.

void
resource(string $name, string $controller, array $options = array())

Route a resource to a controller.

void
auth()

Register the typical authentication routes for an application.

void
group(array $attributes, Closure $callback)

Create a route group with shared attributes.

array
mergeWithLastGroup(array $new)

Merge the given array with the last group stack.

static array
mergeGroup(array $new, array $old)

Merge the given group attributes.

string
getLastGroupPrefix()

Get the prefix from the last group on the stack.

dispatch(Request $request)

Dispatch the request to the application.

mixed
dispatchToRoute(Request $request)

Dispatch the request to a route and return the response.

array
gatherRouteMiddleware(Route $route)

Gather the middleware for the given route.

string|array
resolveMiddlewareClassName(string $name)

Resolve the middleware name to a class name(s) preserving passed parameters.

substituteBindings(Route $route)

Substitute the route bindings onto the route.

void
substituteImplicitBindings(Route $route)

Substitute the implicit Eloquent model bindings for the route.

void
matched(string|callable $callback)

Register a route matched event listener.

array
getMiddleware()

Get all of the defined middleware short-hand names.

$this
middleware(string $name, string $class)

Register a short-hand name for a middleware.

$this
middlewareGroup(string $name, array $middleware)

Register a group of middleware.

$this
prependMiddlewareToGroup(string $group, string $middleware)

Add a middleware to the beginning of a middleware group.

$this
pushMiddlewareToGroup(string $group, string $middleware)

Add a middleware to the end of a middleware group.

void
model(string $key, string $class, Closure $callback = null)

Register a model binder for a wildcard.

void
bind(string $key, string|callable $binder)

Add a new route parameter binder.

createClassBinding(string $binding)

Create a class based binding using the IoC container.

void
pattern(string $key, string $pattern)

Set a global where pattern on all routes.

void
patterns(array $patterns)

Set a group of global where patterns on all routes.

prepareResponse(Request $request, mixed $response)

Create a response instance from the given value.

bool
hasGroupStack()

Determine if the router currently has a group stack.

array
getGroupStack()

Get the current group stack for the router.

mixed
input(string $key, string $default = null)

Get a route parameter for the current route.

getCurrentRoute()

Get the currently dispatched route instance.

current()

Get the currently dispatched route instance.

bool
has(string $name)

Check if a route with the given name exists.

string|null
currentRouteName()

Get the current route name.

bool
is()

Alias for the "currentRouteNamed" method.

bool
currentRouteNamed(string $name)

Determine if the current route matches a given name.

string|null
currentRouteAction()

Get the current route action.

bool
uses()

Alias for the "currentRouteUses" method.

bool
currentRouteUses(string $action)

Determine if the current route action matches a given action.

getCurrentRequest()

Get the request currently being dispatched.

getRoutes()

Get the underlying route collection.

void
setRoutes(RouteCollection $routes)

Set the route collection instance.

array
getPatterns()

Get the global "where" patterns.

Details

in Macroable at line line 24
static void macro(string $name, callable $macro)

Register a custom macro.

Parameters

string $name
callable $macro

Return Value

void

in Macroable at line line 35
static bool hasMacro(string $name)

Checks if macro is registered.

Parameters

string $name

Return Value

bool

in Macroable at line line 49
static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

in Macroable at line line 71
mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

at line line 118
void __construct(Dispatcher $events, Container $container = null)

Create a new Router instance.

Parameters

Dispatcher $events
Container $container

Return Value

void

at line line 136
void get(string $uri, Closure|array|string $action = null)

Register a new GET route with the router.

Parameters

string $uri
Closure|array|string $action

Return Value

void

at line line 148
void post(string $uri, Closure|array|string $action = null)

Register a new POST route with the router.

Parameters

string $uri
Closure|array|string $action

Return Value

void

at line line 160
void put(string $uri, Closure|array|string $action = null)

Register a new PUT route with the router.

Parameters

string $uri
Closure|array|string $action

Return Value

void

at line line 172
void patch(string $uri, Closure|array|string $action = null)

Register a new PATCH route with the router.

Parameters

string $uri
Closure|array|string $action

Return Value

void

at line line 184
void delete(string $uri, Closure|array|string $action = null)

Register a new DELETE route with the router.

Parameters

string $uri
Closure|array|string $action

Return Value

void

at line line 196
void options(string $uri, Closure|array|string $action = null)

Register a new OPTIONS route with the router.

Parameters

string $uri
Closure|array|string $action

Return Value

void

at line line 208
Route any(string $uri, Closure|array|string|null $action = null)

Register a new route responding to all verbs.

Parameters

string $uri
Closure|array|string|null $action

Return Value

Route

at line line 223
void match(array|string $methods, string $uri, Closure|array|string $action = null)

Register a new route with the given verbs.

Parameters

array|string $methods
string $uri
Closure|array|string $action

Return Value

void

at line line 234
void singularResourceParameters(bool $singular = true)

Set the unmapped global resource parameters to singular.

Parameters

bool $singular

Return Value

void

at line line 245
void resourceParameters(array $parameters = array())

Set the global resource parameter mapping.

Parameters

array $parameters

Return Value

void

at line line 256
array|null resourceVerbs(array $verbs = array())

Get or set the verbs used in the resource URIs.

Parameters

array $verbs

Return Value

array|null

at line line 267
void resources(array $resources)

Register an array of resource controllers.

Parameters

array $resources

Return Value

void

at line line 282
void resource(string $name, string $controller, array $options = array())

Route a resource to a controller.

Parameters

string $name
string $controller
array $options

Return Value

void

at line line 298
void auth()

Register the typical authentication routes for an application.

Return Value

void

at line line 323
void group(array $attributes, Closure $callback)

Create a route group with shared attributes.

Parameters

array $attributes
Closure $callback

Return Value

void

at line line 356
array mergeWithLastGroup(array $new)

Merge the given array with the last group stack.

Parameters

array $new

Return Value

array

at line line 368
static array mergeGroup(array $new, array $old)

Merge the given group attributes.

Parameters

array $new
array $old

Return Value

array

at line line 431
string getLastGroupPrefix()

Get the prefix from the last group on the stack.

Return Value

string

at line line 603
Response dispatch(Request $request)

Dispatch the request to the application.

Parameters

Request $request

Return Value

Response

at line line 616
mixed dispatchToRoute(Request $request)

Dispatch the request to a route and return the response.

Parameters

Request $request

Return Value

mixed

at line line 664
array gatherRouteMiddleware(Route $route)

Gather the middleware for the given route.

Parameters

Route $route

Return Value

array

at line line 679
string|array resolveMiddlewareClassName(string $name)

Resolve the middleware name to a class name(s) preserving passed parameters.

Parameters

string $name

Return Value

string|array

at line line 779
Route substituteBindings(Route $route)

Substitute the route bindings onto the route.

Parameters

Route $route

Return Value

Route

at line line 796
void substituteImplicitBindings(Route $route)

Substitute the implicit Eloquent model bindings for the route.

Parameters

Route $route

Return Value

void

at line line 837
void matched(string|callable $callback)

Register a route matched event listener.

Parameters

string|callable $callback

Return Value

void

at line line 847
array getMiddleware()

Get all of the defined middleware short-hand names.

Return Value

array

at line line 859
$this middleware(string $name, string $class)

Register a short-hand name for a middleware.

Parameters

string $name
string $class

Return Value

$this

at line line 873
$this middlewareGroup(string $name, array $middleware)

Register a group of middleware.

Parameters

string $name
array $middleware

Return Value

$this

at line line 889
$this prependMiddlewareToGroup(string $group, string $middleware)

Add a middleware to the beginning of a middleware group.

If the middleware is already in the group, it will not be added again.

Parameters

string $group
string $middleware

Return Value

$this

at line line 907
$this pushMiddlewareToGroup(string $group, string $middleware)

Add a middleware to the end of a middleware group.

If the middleware is already in the group, it will not be added again.

Parameters

string $group
string $middleware

Return Value

$this

at line line 926
void model(string $key, string $class, Closure $callback = null)

Register a model binder for a wildcard.

Parameters

string $key
string $class
Closure $callback

Return Value

void

Exceptions

ModelNotFoundException

at line line 960
void bind(string $key, string|callable $binder)

Add a new route parameter binder.

Parameters

string $key
string|callable $binder

Return Value

void

at line line 975
Closure createClassBinding(string $binding)

Create a class based binding using the IoC container.

Parameters

string $binding

Return Value

Closure

at line line 998
void pattern(string $key, string $pattern)

Set a global where pattern on all routes.

Parameters

string $key
string $pattern

Return Value

void

at line line 1009
void patterns(array $patterns)

Set a group of global where patterns on all routes.

Parameters

array $patterns

Return Value

void

at line line 1023
Response prepareResponse(Request $request, mixed $response)

Create a response instance from the given value.

Parameters

Request $request
mixed $response

Return Value

Response

at line line 1039
bool hasGroupStack()

Determine if the router currently has a group stack.

Return Value

bool

at line line 1049
array getGroupStack()

Get the current group stack for the router.

Return Value

array

at line line 1061
mixed input(string $key, string $default = null)

Get a route parameter for the current route.

Parameters

string $key
string $default

Return Value

mixed

at line line 1071
Route getCurrentRoute()

Get the currently dispatched route instance.

Return Value

Route

at line line 1081
Route current()

Get the currently dispatched route instance.

Return Value

Route

at line line 1092
bool has(string $name)

Check if a route with the given name exists.

Parameters

string $name

Return Value

bool

at line line 1102
string|null currentRouteName()

Get the current route name.

Return Value

string|null

at line line 1112
bool is()

Alias for the "currentRouteNamed" method.

Return Value

bool

at line line 1129
bool currentRouteNamed(string $name)

Determine if the current route matches a given name.

Parameters

string $name

Return Value

bool

at line line 1139
string|null currentRouteAction()

Get the current route action.

Return Value

string|null

at line line 1155
bool uses()

Alias for the "currentRouteUses" method.

Return Value

bool

at line line 1172
bool currentRouteUses(string $action)

Determine if the current route action matches a given action.

Parameters

string $action

Return Value

bool

at line line 1182
Request getCurrentRequest()

Get the request currently being dispatched.

Return Value

Request

at line line 1192
RouteCollection getRoutes()

Get the underlying route collection.

Return Value

RouteCollection

at line line 1203
void setRoutes(RouteCollection $routes)

Set the route collection instance.

Parameters

RouteCollection $routes

Return Value

void

at line line 1219
array getPatterns()

Get the global "where" patterns.

Return Value

array