Route
class Route (View source)
Traits
Properties
static protected array | $macros | The registered string macros. |
from Macroable |
string | $uri | The URI pattern the route responds to. |
|
array | $methods | The HTTP methods the route responds to. |
|
array | $action | The route action array. |
|
bool | $isFallback | Indicates whether the route is a fallback route. |
|
mixed | $controller | The controller instance. |
|
array | $defaults | The default values for the route. |
|
array | $wheres | The regular expression requirements. |
|
array|null | $parameters | The array of matched parameters. |
|
array|null | $parameterNames | The parameter names for the route. |
|
protected array | $originalParameters | The array of the matched parameters' original values. |
|
protected int|null | $lockSeconds | Indicates the maximum number of seconds the route should acquire a session lock for. |
|
protected int|null | $waitSeconds | Indicates the maximum number of seconds the route should wait while attempting to acquire a session lock. |
|
array|null | $computedMiddleware | The computed gathered middleware. |
|
CompiledRoute | $compiled | The compiled version of the route. |
|
protected Router | $router | The router instance used by the route. |
|
protected Container | $container | The container instance used by the route. |
|
protected array | $bindingFields | The fields that implicit binding should use for a given parameter. |
|
static array | $validators | The validators used by the routes. |
Methods
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Resolve the object method's type-hinted dependencies.
Resolve the given method's type-hinted dependencies.
Attempt to transform the given parameter into a class instance.
Determine if an object of the given class is in a list of parameters.
Splice the given value into the parameter list.
Parse the route action into a standard array.
Run the route action and return the response.
Checks whether the route's action is a controller.
Run the route action and return the response.
Run the route action and return the response.
Get the controller instance for the route.
Get the controller method used for the route.
Parse the controller.
Compile the route into a Symfony CompiledRoute instance.
Determine if the route has parameters.
Determine a given parameter exists from the route.
Get a given parameter from the route.
Get original value of a given parameter from the route.
Set a parameter to the given value.
Unset a parameter on the route if it is set.
Get the key / value list of parameters for the route.
Get the key / value list of original parameters for the route.
Get the key / value list of parameters without null values.
Get all of the parameter names for the route.
Get the parameter names for the route.
Get the parameters that are listed in the route / controller signature.
Get the binding field for the given parameter.
Get the binding fields for the route.
Set the binding fields for the route.
Get the parent parameter of the given parameter.
Set a default value for the route.
Set the default values for the route.
Set a regular expression requirement on the route.
Parse arguments to the where method into an array.
Set a list of regular expression requirements on the route.
Mark this route as a fallback route.
Set the fallback value.
Get the HTTP verbs the route responds to.
Determine if the route only responds to HTTP requests.
Determine if the route only responds to HTTPS requests.
Determine if the route only responds to HTTPS requests.
Get or set the domain for the route.
Get the domain defined for the route.
Get the prefix of the route instance.
Add a prefix to the route URI.
Update the "prefix" attribute on the action array.
Get the URI associated with the route.
Set the URI that the route responds to.
Parse the route URI and normalize / store any implicit binding fields.
Get the name of the route instance.
Add or change the route name.
Determine whether the route's name matches the given patterns.
Parse a string based action for the "uses" fluent method.
Get the action name for the route.
Get the method name of the route action.
Get the action array or one of its properties for the route.
Set the action array for the route.
Get all middleware, including the ones from the controller.
Get or set the middlewares attached to the route.
Get the middleware for the route's controller.
Specify middleware that should be removed from the given route.
Get the middleware should be removed from the route.
Specify that the route should not allow concurrent requests from the same session.
Specify that the route should allow concurrent requests from the same session.
Get the maximum number of seconds the route's session lock should be held for.
Get the maximum number of seconds to wait while attempting to acquire a session lock.
Get the dispatcher for the route's controller.
Get the route validators for the instance.
Convert the route to a Symfony route.
Get the optional parameter names for the route.
Get the compiled version of the route.
Prepare the route instance for serialization.
Dynamically access route parameters.
Details
static void
macro(string $name, object|callable $macro)
Register a custom macro.
static void
mixin(object $mixin, bool $replace = true)
Mix another object into the class.
static bool
hasMacro(string $name)
Checks if macro is registered.
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
protected array
resolveClassMethodDependencies(array $parameters, object $instance, string $method)
Resolve the object method's type-hinted dependencies.
array
resolveMethodDependencies(array $parameters, ReflectionFunctionAbstract $reflector)
Resolve the given method's type-hinted dependencies.
protected mixed
transformDependency(ReflectionParameter $parameter, array $parameters, object $skippableValue)
Attempt to transform the given parameter into a class instance.
protected bool
alreadyInParameters(string $class, array $parameters)
Determine if an object of the given class is in a list of parameters.
protected void
spliceIntoParameters(array $parameters, string $offset, mixed $value)
Splice the given value into the parameter list.
void
__construct(array|string $methods, string $uri, Closure|array $action)
Create a new Route instance.
protected array
parseAction(callable|array|null $action)
Parse the route action into a standard array.
mixed
run()
Run the route action and return the response.
protected bool
isControllerAction()
Checks whether the route's action is a controller.
protected mixed
runCallable()
Run the route action and return the response.
protected mixed
runController()
Run the route action and return the response.
mixed
getController()
Get the controller instance for the route.
protected string
getControllerMethod()
Get the controller method used for the route.
protected array
parseControllerCallback()
Parse the controller.
bool
matches(Request $request, bool $includingMethod = true)
Determine if the route matches a given request.
protected CompiledRoute
compileRoute()
Compile the route into a Symfony CompiledRoute instance.
$this
bind(Request $request)
Bind the route to a given request for execution.
bool
hasParameters()
Determine if the route has parameters.
bool
hasParameter(string $name)
Determine a given parameter exists from the route.
string|object|null
parameter(string $name, string|object|null $default = null)
Get a given parameter from the route.
string|null
originalParameter(string $name, string|null $default = null)
Get original value of a given parameter from the route.
void
setParameter(string $name, string|object|null $value)
Set a parameter to the given value.
void
forgetParameter(string $name)
Unset a parameter on the route if it is set.
array
parameters()
Get the key / value list of parameters for the route.
array
originalParameters()
Get the key / value list of original parameters for the route.
array
parametersWithoutNulls()
Get the key / value list of parameters without null values.
array
parameterNames()
Get all of the parameter names for the route.
protected array
compileParameterNames()
Get the parameter names for the route.
array
signatureParameters(string|null $subClass = null)
Get the parameters that are listed in the route / controller signature.
string|null
bindingFieldFor(string|int $parameter)
Get the binding field for the given parameter.
array
bindingFields()
Get the binding fields for the route.
$this
setBindingFields(array $bindingFields)
Set the binding fields for the route.
string
parentOfParameter(string $parameter)
Get the parent parameter of the given parameter.
$this
defaults(string $key, mixed $value)
Set a default value for the route.
$this
setDefaults(array $defaults)
Set the default values for the route.
$this
where(array|string $name, string|null $expression = null)
Set a regular expression requirement on the route.
protected array
parseWhere(array|string $name, string $expression)
Parse arguments to the where method into an array.
$this
setWheres(array $wheres)
Set a list of regular expression requirements on the route.
$this
fallback()
Mark this route as a fallback route.
$this
setFallback(bool $isFallback)
Set the fallback value.
array
methods()
Get the HTTP verbs the route responds to.
bool
httpOnly()
Determine if the route only responds to HTTP requests.
bool
httpsOnly()
Determine if the route only responds to HTTPS requests.
bool
secure()
Determine if the route only responds to HTTPS requests.
$this|string|null
domain(string|null $domain = null)
Get or set the domain for the route.
string|null
getDomain()
Get the domain defined for the route.
string|null
getPrefix()
Get the prefix of the route instance.
$this
prefix(string $prefix)
Add a prefix to the route URI.
protected void
updatePrefixOnAction(string $prefix)
Update the "prefix" attribute on the action array.
string
uri()
Get the URI associated with the route.
$this
setUri(string $uri)
Set the URI that the route responds to.
protected string
parseUri(string $uri)
Parse the route URI and normalize / store any implicit binding fields.
string|null
getName()
Get the name of the route instance.
$this
name(string $name)
Add or change the route name.
bool
named(mixed ...$patterns)
Determine whether the route's name matches the given patterns.
$this
uses(Closure|string $action)
Set the handler for the route.
protected string
addGroupNamespaceToStringUses(string $action)
Parse a string based action for the "uses" fluent method.
string
getActionName()
Get the action name for the route.
string
getActionMethod()
Get the method name of the route action.
mixed
getAction(string|null $key = null)
Get the action array or one of its properties for the route.
$this
setAction(array $action)
Set the action array for the route.
array
gatherMiddleware()
Get all middleware, including the ones from the controller.
$this|array
middleware(array|string|null $middleware = null)
Get or set the middlewares attached to the route.
array
controllerMiddleware()
Get the middleware for the route's controller.
$this|array
withoutMiddleware(array|string $middleware)
Specify middleware that should be removed from the given route.
array
excludedMiddleware()
Get the middleware should be removed from the route.
$this
block(int|null $lockSeconds = 10, int|null $waitSeconds = 10)
Specify that the route should not allow concurrent requests from the same session.
$this
withoutBlocking()
Specify that the route should allow concurrent requests from the same session.
int|null
locksFor()
Get the maximum number of seconds the route's session lock should be held for.
int|null
waitsFor()
Get the maximum number of seconds to wait while attempting to acquire a session lock.
ControllerDispatcher
controllerDispatcher()
Get the dispatcher for the route's controller.
static array
getValidators()
Get the route validators for the instance.
Route
toSymfonyRoute()
Convert the route to a Symfony route.
protected array
getOptionalParameterNames()
Get the optional parameter names for the route.
CompiledRoute
getCompiled()
Get the compiled version of the route.
$this
setRouter(Router $router)
Set the router instance on the route.
$this
setContainer(Container $container)
Set the container instance on the route.
void
prepareForSerialization()
Prepare the route instance for serialization.
mixed
__get(string $key)
Dynamically access route parameters.