class Router implements Registrar (View source)

Traits

Properties

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
controllers( array $controllers)

Register an array of controllers with wildcard routing.

void
controller( string $uri, string $controller, array $names = array())

Route a controller to a URI with wildcard routing.

void
singularResourceParameters()

Set the unmapped global resource parameters to singular.

void
resourceParameters( array $parameters = array())

Set the global resource parameter mapping.

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
gatherRouteMiddlewares( 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.

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 "currentRouteName" 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 109
void __construct( Dispatcher $events, Container $container = null)

Create a new Router instance.

Parameters

Dispatcher $events
Container $container

Return Value

void

at line line 127
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 139
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 151
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 163
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 175
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 187
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 199
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 214
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 227
void controllers( array $controllers)

Register an array of controllers with wildcard routing.

Parameters

array $controllers

Return Value

void

at line line 244
void controller( string $uri, string $controller, array $names = array())

Route a controller to a URI with wildcard routing.

Parameters

string $uri
string $controller
array $names

Return Value

void

at line line 314
void singularResourceParameters()

Set the unmapped global resource parameters to singular.

Return Value

void

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

Set the global resource parameter mapping.

Parameters

array $parameters

Return Value

void

at line line 336
void resources( array $resources)

Register an array of resource controllers.

Parameters

array $resources

Return Value

void

at line line 351
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 367
void auth()

Register the typical authentication routes for an application.

Return Value

void

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

Create a route group with shared attributes.

Parameters

array $attributes
Closure $callback

Return Value

void

at line line 424
array mergeWithLastGroup( array $new)

Merge the given array with the last group stack.

Parameters

array $new

Return Value

array

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

Merge the given group attributes.

Parameters

array $new
array $old

Return Value

array

at line line 499
string getLastGroupPrefix()

Get the prefix from the last group on the stack.

Return Value

string

at line line 671
Response dispatch( Request $request)

Dispatch the request to the application.

Parameters

Request $request

Return Value

Response

at line line 686
mixed dispatchToRoute( Request $request)

Dispatch the request to a route and return the response.

Parameters

Request $request

Return Value

mixed

at line line 735
array gatherRouteMiddlewares( Route $route)

Gather the middleware for the given route.

Parameters

Route $route

Return Value

array

at line line 749
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 896
void matched( string|callable $callback)

Register a route matched event listener.

Parameters

string|callable $callback

Return Value

void

at line line 906
array getMiddleware()

Get all of the defined middleware short-hand names.

Return Value

array

at line line 918
$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 932
$this middlewareGroup( string $name, array $middleware)

Register a group of middleware.

Parameters

string $name
array $middleware

Return Value

$this

at line line 948
$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 966
$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 985
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

NotFoundHttpException

at line line 1019
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 1034
Closure createClassBinding( string $binding)

Create a class based binding using the IoC container.

Parameters

string $binding

Return Value

Closure

at line line 1057
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 1068
void patterns( array $patterns)

Set a group of global where patterns on all routes.

Parameters

array $patterns

Return Value

void

at line line 1082
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 1098
bool hasGroupStack()

Determine if the router currently has a group stack.

Return Value

bool

at line line 1108
array getGroupStack()

Get the current group stack for the router.

Return Value

array

at line line 1120
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 1130
Route getCurrentRoute()

Get the currently dispatched route instance.

Return Value

Route

at line line 1140
Route current()

Get the currently dispatched route instance.

Return Value

Route

at line line 1151
bool has( string $name)

Check if a route with the given name exists.

Parameters

string $name

Return Value

bool

at line line 1161
string|null currentRouteName()

Get the current route name.

Return Value

string|null

at line line 1172
bool is()

Alias for the "currentRouteName" method.

Return Value

bool

at line line 1189
bool currentRouteNamed( string $name)

Determine if the current route matches a given name.

Parameters

string $name

Return Value

bool

at line line 1199
string|null currentRouteAction()

Get the current route action.

Return Value

string|null

at line line 1216
bool uses()

Alias for the "currentRouteUses" method.

Return Value

bool

at line line 1233
bool currentRouteUses( string $action)

Determine if the current route action matches a given action.

Parameters

string $action

Return Value

bool

at line line 1243
Request getCurrentRequest()

Get the request currently being dispatched.

Return Value

Request

at line line 1253
RouteCollection getRoutes()

Get the underlying route collection.

Return Value

RouteCollection

at line line 1264
void setRoutes( RouteCollection $routes)

Set the route collection instance.

Parameters

RouteCollection $routes

Return Value

void

at line line 1280
array getPatterns()

Get the global "where" patterns.

Return Value

array