name: Router class_comment: '# * @mixin \Illuminate\Routing\RouteRegistrar' dependencies: - name: ArrayObject type: class source: ArrayObject - name: Closure type: class source: Closure - name: Container type: class source: Illuminate\Container\Container - name: Dispatcher type: class source: Illuminate\Contracts\Events\Dispatcher - name: BindingRegistrar type: class source: Illuminate\Contracts\Routing\BindingRegistrar - name: RegistrarContract type: class source: Illuminate\Contracts\Routing\Registrar - name: Arrayable type: class source: Illuminate\Contracts\Support\Arrayable - name: Jsonable type: class source: Illuminate\Contracts\Support\Jsonable - name: Responsable type: class source: Illuminate\Contracts\Support\Responsable - name: Model type: class source: Illuminate\Database\Eloquent\Model - name: JsonResponse type: class source: Illuminate\Http\JsonResponse - name: Request type: class source: Illuminate\Http\Request - name: Response type: class source: Illuminate\Http\Response - name: PreparingResponse type: class source: Illuminate\Routing\Events\PreparingResponse - name: ResponsePrepared type: class source: Illuminate\Routing\Events\ResponsePrepared - name: RouteMatched type: class source: Illuminate\Routing\Events\RouteMatched - name: Routing type: class source: Illuminate\Routing\Events\Routing - name: Arr type: class source: Illuminate\Support\Arr - name: Collection type: class source: Illuminate\Support\Collection - name: Str type: class source: Illuminate\Support\Str - name: Stringable type: class source: Illuminate\Support\Stringable - name: Macroable type: class source: Illuminate\Support\Traits\Macroable - name: Tappable type: class source: Illuminate\Support\Traits\Tappable - name: JsonSerializable type: class source: JsonSerializable - name: PsrResponseInterface type: class source: Psr\Http\Message\ResponseInterface - name: ReflectionClass type: class source: ReflectionClass - name: stdClass type: class source: stdClass - name: HttpFoundationFactory type: class source: Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory - name: SymfonyResponse type: class source: Symfony\Component\HttpFoundation\Response - name: Tappable type: class source: Tappable properties: - name: events visibility: protected comment: "# * @mixin \\Illuminate\\Routing\\RouteRegistrar\n# */\n# class Router\ \ implements BindingRegistrar, RegistrarContract\n# {\n# use Macroable {\n# __call\ \ as macroCall;\n# }\n# use Tappable;\n# \n# /**\n# * The event dispatcher instance.\n\ # *\n# * @var \\Illuminate\\Contracts\\Events\\Dispatcher" - name: container visibility: protected comment: '# * The IoC container instance. # * # * @var \Illuminate\Container\Container' - name: routes visibility: protected comment: '# * The route collection instance. # * # * @var \Illuminate\Routing\RouteCollectionInterface' - name: current visibility: protected comment: '# * The currently dispatched route instance. # * # * @var \Illuminate\Routing\Route|null' - name: currentRequest visibility: protected comment: '# * The request currently being dispatched. # * # * @var \Illuminate\Http\Request' - name: middleware visibility: protected comment: '# * All of the short-hand keys for middlewares. # * # * @var array' - name: middlewareGroups visibility: protected comment: '# * All of the middleware groups. # * # * @var array' - name: middlewarePriority visibility: public comment: '# * The priority-sorted list of middleware. # * # * Forces the listed middleware to always be in the given order. # * # * @var array' - name: binders visibility: protected comment: '# * The registered route value binders. # * # * @var array' - name: patterns visibility: protected comment: '# * The globally available parameter patterns. # * # * @var array' - name: groupStack visibility: protected comment: '# * The route group attribute stack. # * # * @var array' - name: implicitBindingCallback visibility: protected comment: '# * The registered custom implicit binding callback. # * # * @var array' - name: verbs visibility: public comment: '# * All of the verbs supported by the router. # * # * @var string[]' methods: - name: __construct visibility: public parameters: - name: events - name: container default: 'null' comment: "# * @mixin \\Illuminate\\Routing\\RouteRegistrar\n# */\n# class Router\ \ implements BindingRegistrar, RegistrarContract\n# {\n# use Macroable {\n# __call\ \ as macroCall;\n# }\n# use Tappable;\n# \n# /**\n# * The event dispatcher instance.\n\ # *\n# * @var \\Illuminate\\Contracts\\Events\\Dispatcher\n# */\n# protected $events;\n\ # \n# /**\n# * The IoC container instance.\n# *\n# * @var \\Illuminate\\Container\\\ Container\n# */\n# protected $container;\n# \n# /**\n# * The route collection\ \ instance.\n# *\n# * @var \\Illuminate\\Routing\\RouteCollectionInterface\n#\ \ */\n# protected $routes;\n# \n# /**\n# * The currently dispatched route instance.\n\ # *\n# * @var \\Illuminate\\Routing\\Route|null\n# */\n# protected $current;\n\ # \n# /**\n# * The request currently being dispatched.\n# *\n# * @var \\Illuminate\\\ Http\\Request\n# */\n# protected $currentRequest;\n# \n# /**\n# * All of the short-hand\ \ keys for middlewares.\n# *\n# * @var array\n# */\n# protected $middleware =\ \ [];\n# \n# /**\n# * All of the middleware groups.\n# *\n# * @var array\n# */\n\ # protected $middlewareGroups = [];\n# \n# /**\n# * The priority-sorted list of\ \ middleware.\n# *\n# * Forces the listed middleware to always be in the given\ \ order.\n# *\n# * @var array\n# */\n# public $middlewarePriority = [];\n# \n\ # /**\n# * The registered route value binders.\n# *\n# * @var array\n# */\n# protected\ \ $binders = [];\n# \n# /**\n# * The globally available parameter patterns.\n\ # *\n# * @var array\n# */\n# protected $patterns = [];\n# \n# /**\n# * The route\ \ group attribute stack.\n# *\n# * @var array\n# */\n# protected $groupStack =\ \ [];\n# \n# /**\n# * The registered custom implicit binding callback.\n# *\n\ # * @var array\n# */\n# protected $implicitBindingCallback;\n# \n# /**\n# * All\ \ of the verbs supported by the router.\n# *\n# * @var string[]\n# */\n# public\ \ static $verbs = ['GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'];\n\ # \n# /**\n# * Create a new Router instance.\n# *\n# * @param \\Illuminate\\\ Contracts\\Events\\Dispatcher $events\n# * @param \\Illuminate\\Container\\\ Container|null $container\n# * @return void" - name: get visibility: public parameters: - name: uri - name: action default: 'null' comment: '# * Register a new GET route with the router. # * # * @param string $uri # * @param array|string|callable|null $action # * @return \Illuminate\Routing\Route' - name: post visibility: public parameters: - name: uri - name: action default: 'null' comment: '# * Register a new POST route with the router. # * # * @param string $uri # * @param array|string|callable|null $action # * @return \Illuminate\Routing\Route' - name: put visibility: public parameters: - name: uri - name: action default: 'null' comment: '# * Register a new PUT route with the router. # * # * @param string $uri # * @param array|string|callable|null $action # * @return \Illuminate\Routing\Route' - name: patch visibility: public parameters: - name: uri - name: action default: 'null' comment: '# * Register a new PATCH route with the router. # * # * @param string $uri # * @param array|string|callable|null $action # * @return \Illuminate\Routing\Route' - name: delete visibility: public parameters: - name: uri - name: action default: 'null' comment: '# * Register a new DELETE route with the router. # * # * @param string $uri # * @param array|string|callable|null $action # * @return \Illuminate\Routing\Route' - name: options visibility: public parameters: - name: uri - name: action default: 'null' comment: '# * Register a new OPTIONS route with the router. # * # * @param string $uri # * @param array|string|callable|null $action # * @return \Illuminate\Routing\Route' - name: any visibility: public parameters: - name: uri - name: action default: 'null' comment: '# * Register a new route responding to all verbs. # * # * @param string $uri # * @param array|string|callable|null $action # * @return \Illuminate\Routing\Route' - name: fallback visibility: public parameters: - name: action comment: '# * Register a new fallback route with the router. # * # * @param array|string|callable|null $action # * @return \Illuminate\Routing\Route' - name: redirect visibility: public parameters: - name: uri - name: destination - name: status default: '302' comment: '# * Create a redirect from one URI to another. # * # * @param string $uri # * @param string $destination # * @param int $status # * @return \Illuminate\Routing\Route' - name: permanentRedirect visibility: public parameters: - name: uri - name: destination comment: '# * Create a permanent redirect from one URI to another. # * # * @param string $uri # * @param string $destination # * @return \Illuminate\Routing\Route' - name: view visibility: public parameters: - name: uri - name: view - name: data default: '[]' - name: status default: '200' - name: headers default: '[]' comment: '# * Register a new route that returns a view. # * # * @param string $uri # * @param string $view # * @param array $data # * @param int|array $status # * @param array $headers # * @return \Illuminate\Routing\Route' - name: match visibility: public parameters: - name: methods - name: uri - name: action default: 'null' comment: '# * Register a new route with the given verbs. # * # * @param array|string $methods # * @param string $uri # * @param array|string|callable|null $action # * @return \Illuminate\Routing\Route' - name: resources visibility: public parameters: - name: resources - name: options default: '[]' comment: '# * Register an array of resource controllers. # * # * @param array $resources # * @param array $options # * @return void' - name: resource visibility: public parameters: - name: name - name: controller - name: options default: '[]' comment: '# * Route a resource to a controller. # * # * @param string $name # * @param string $controller # * @param array $options # * @return \Illuminate\Routing\PendingResourceRegistration' - name: apiResources visibility: public parameters: - name: resources - name: options default: '[]' comment: '# * Register an array of API resource controllers. # * # * @param array $resources # * @param array $options # * @return void' - name: apiResource visibility: public parameters: - name: name - name: controller - name: options default: '[]' comment: '# * Route an API resource to a controller. # * # * @param string $name # * @param string $controller # * @param array $options # * @return \Illuminate\Routing\PendingResourceRegistration' - name: singletons visibility: public parameters: - name: singletons - name: options default: '[]' comment: '# * Register an array of singleton resource controllers. # * # * @param array $singletons # * @param array $options # * @return void' - name: singleton visibility: public parameters: - name: name - name: controller - name: options default: '[]' comment: '# * Route a singleton resource to a controller. # * # * @param string $name # * @param string $controller # * @param array $options # * @return \Illuminate\Routing\PendingSingletonResourceRegistration' - name: apiSingletons visibility: public parameters: - name: singletons - name: options default: '[]' comment: '# * Register an array of API singleton resource controllers. # * # * @param array $singletons # * @param array $options # * @return void' - name: apiSingleton visibility: public parameters: - name: name - name: controller - name: options default: '[]' comment: '# * Route an API singleton resource to a controller. # * # * @param string $name # * @param string $controller # * @param array $options # * @return \Illuminate\Routing\PendingSingletonResourceRegistration' - name: group visibility: public parameters: - name: attributes - name: routes comment: '# * Create a route group with shared attributes. # * # * @param array $attributes # * @param \Closure|array|string $routes # * @return $this' - name: updateGroupStack visibility: protected parameters: - name: attributes comment: '# * Update the group stack with the given attributes. # * # * @param array $attributes # * @return void' - name: mergeWithLastGroup visibility: public parameters: - name: new - name: prependExistingPrefix default: 'true' comment: '# * Merge the given array with the last group stack. # * # * @param array $new # * @param bool $prependExistingPrefix # * @return array' - name: loadRoutes visibility: protected parameters: - name: routes comment: '# * Load the provided routes. # * # * @param \Closure|string $routes # * @return void' - name: getLastGroupPrefix visibility: public parameters: [] comment: '# * Get the prefix from the last group on the stack. # * # * @return string' - name: addRoute visibility: public parameters: - name: methods - name: uri - name: action comment: '# * Add a route to the underlying route collection. # * # * @param array|string $methods # * @param string $uri # * @param array|string|callable|null $action # * @return \Illuminate\Routing\Route' - name: createRoute visibility: protected parameters: - name: methods - name: uri - name: action comment: '# * Create a new route instance. # * # * @param array|string $methods # * @param string $uri # * @param mixed $action # * @return \Illuminate\Routing\Route' - name: actionReferencesController visibility: protected parameters: - name: action comment: '# * Determine if the action is routing to a controller. # * # * @param mixed $action # * @return bool' - name: convertToControllerAction visibility: protected parameters: - name: action comment: '# * Add a controller based route action to the action array. # * # * @param array|string $action # * @return array' - name: prependGroupNamespace visibility: protected parameters: - name: class comment: '# * Prepend the last group namespace onto the use clause. # * # * @param string $class # * @return string' - name: prependGroupController visibility: protected parameters: - name: class comment: '# * Prepend the last group controller onto the use clause. # * # * @param string $class # * @return string' - name: newRoute visibility: public parameters: - name: methods - name: uri - name: action comment: '# * Create a new Route object. # * # * @param array|string $methods # * @param string $uri # * @param mixed $action # * @return \Illuminate\Routing\Route' - name: prefix visibility: protected parameters: - name: uri comment: '# * Prefix the given URI with the last prefix. # * # * @param string $uri # * @return string' - name: addWhereClausesToRoute visibility: protected parameters: - name: route comment: '# * Add the necessary where clauses to the route based on its initial registration. # * # * @param \Illuminate\Routing\Route $route # * @return \Illuminate\Routing\Route' - name: mergeGroupAttributesIntoRoute visibility: protected parameters: - name: route comment: '# * Merge the group stack with the controller action. # * # * @param \Illuminate\Routing\Route $route # * @return void' - name: respondWithRoute visibility: public parameters: - name: name comment: '# * Return the response returned by the given route. # * # * @param string $name # * @return \Symfony\Component\HttpFoundation\Response' - name: dispatch visibility: public parameters: - name: request comment: '# * Dispatch the request to the application. # * # * @param \Illuminate\Http\Request $request # * @return \Symfony\Component\HttpFoundation\Response' - name: dispatchToRoute visibility: public parameters: - name: request comment: '# * Dispatch the request to a route and return the response. # * # * @param \Illuminate\Http\Request $request # * @return \Symfony\Component\HttpFoundation\Response' - name: findRoute visibility: protected parameters: - name: request comment: '# * Find the route matching a given request. # * # * @param \Illuminate\Http\Request $request # * @return \Illuminate\Routing\Route' - name: runRoute visibility: protected parameters: - name: request - name: route comment: '# * Return the response for the given route. # * # * @param \Illuminate\Http\Request $request # * @param \Illuminate\Routing\Route $route # * @return \Symfony\Component\HttpFoundation\Response' - name: runRouteWithinStack visibility: protected parameters: - name: route - name: request comment: '# * Run the given route within a Stack "onion" instance. # * # * @param \Illuminate\Routing\Route $route # * @param \Illuminate\Http\Request $request # * @return mixed' - name: gatherRouteMiddleware visibility: public parameters: - name: route comment: '# * Gather the middleware for the given route with resolved class names. # * # * @param \Illuminate\Routing\Route $route # * @return array' - name: resolveMiddleware visibility: public parameters: - name: middleware - name: excluded default: '[]' comment: '# * Resolve a flat array of middleware classes from the provided array. # * # * @param array $middleware # * @param array $excluded # * @return array' - name: sortMiddleware visibility: protected parameters: - name: middlewares comment: '# * Sort the given middleware by priority. # * # * @param \Illuminate\Support\Collection $middlewares # * @return array' - name: prepareResponse visibility: public parameters: - name: request - name: response comment: '# * Create a response instance from the given value. # * # * @param \Symfony\Component\HttpFoundation\Request $request # * @param mixed $response # * @return \Symfony\Component\HttpFoundation\Response' - name: toResponse visibility: public parameters: - name: request - name: response comment: '# * Static version of prepareResponse. # * # * @param \Symfony\Component\HttpFoundation\Request $request # * @param mixed $response # * @return \Symfony\Component\HttpFoundation\Response' - name: substituteBindings visibility: public parameters: - name: route comment: '# * Substitute the route bindings onto the route. # * # * @param \Illuminate\Routing\Route $route # * @return \Illuminate\Routing\Route # * # * @throws \Illuminate\Database\Eloquent\ModelNotFoundException<\Illuminate\Database\Eloquent\Model> # * @throws \Illuminate\Routing\Exceptions\BackedEnumCaseNotFoundException' - name: substituteImplicitBindings visibility: public parameters: - name: route comment: '# * Substitute the implicit route bindings for the given route. # * # * @param \Illuminate\Routing\Route $route # * @return void # * # * @throws \Illuminate\Database\Eloquent\ModelNotFoundException<\Illuminate\Database\Eloquent\Model> # * @throws \Illuminate\Routing\Exceptions\BackedEnumCaseNotFoundException' - name: substituteImplicitBindingsUsing visibility: public parameters: - name: callback comment: '# * Register a callback to run after implicit bindings are substituted. # * # * @param callable $callback # * @return $this' - name: performBinding visibility: protected parameters: - name: key - name: value - name: route comment: '# * Call the binding callback for the given key. # * # * @param string $key # * @param string $value # * @param \Illuminate\Routing\Route $route # * @return mixed # * # * @throws \Illuminate\Database\Eloquent\ModelNotFoundException<\Illuminate\Database\Eloquent\Model>' - name: matched visibility: public parameters: - name: callback comment: '# * Register a route matched event listener. # * # * @param string|callable $callback # * @return void' - name: getMiddleware visibility: public parameters: [] comment: '# * Get all of the defined middleware short-hand names. # * # * @return array' - name: aliasMiddleware visibility: public parameters: - name: name - name: class comment: '# * Register a short-hand name for a middleware. # * # * @param string $name # * @param string $class # * @return $this' - name: hasMiddlewareGroup visibility: public parameters: - name: name comment: '# * Check if a middlewareGroup with the given name exists. # * # * @param string $name # * @return bool' - name: getMiddlewareGroups visibility: public parameters: [] comment: '# * Get all of the defined middleware groups. # * # * @return array' - name: middlewareGroup visibility: public parameters: - name: name - name: middleware comment: '# * Register a group of middleware. # * # * @param string $name # * @param array $middleware # * @return $this' - name: prependMiddlewareToGroup visibility: public parameters: - name: group - name: middleware comment: '# * Add a middleware to the beginning of a middleware group. # * # * If the middleware is already in the group, it will not be added again. # * # * @param string $group # * @param string $middleware # * @return $this' - name: pushMiddlewareToGroup visibility: public parameters: - name: group - name: middleware comment: '# * Add a middleware to the end of a middleware group. # * # * If the middleware is already in the group, it will not be added again. # * # * @param string $group # * @param string $middleware # * @return $this' - name: removeMiddlewareFromGroup visibility: public parameters: - name: group - name: middleware comment: '# * Remove the given middleware from the specified group. # * # * @param string $group # * @param string $middleware # * @return $this' - name: flushMiddlewareGroups visibility: public parameters: [] comment: '# * Flush the router''s middleware groups. # * # * @return $this' - name: bind visibility: public parameters: - name: key - name: binder comment: '# * Add a new route parameter binder. # * # * @param string $key # * @param string|callable $binder # * @return void' - name: model visibility: public parameters: - name: key - name: class - name: callback default: 'null' comment: '# * Register a model binder for a wildcard. # * # * @param string $key # * @param string $class # * @param \Closure|null $callback # * @return void' - name: getBindingCallback visibility: public parameters: - name: key comment: '# * Get the binding callback for a given binding. # * # * @param string $key # * @return \Closure|null' - name: getPatterns visibility: public parameters: [] comment: '# * Get the global "where" patterns. # * # * @return array' - name: pattern visibility: public parameters: - name: key - name: pattern comment: '# * Set a global where pattern on all routes. # * # * @param string $key # * @param string $pattern # * @return void' - name: patterns visibility: public parameters: - name: patterns comment: '# * Set a group of global where patterns on all routes. # * # * @param array $patterns # * @return void' - name: hasGroupStack visibility: public parameters: [] comment: '# * Determine if the router currently has a group stack. # * # * @return bool' - name: getGroupStack visibility: public parameters: [] comment: '# * Get the current group stack for the router. # * # * @return array' - name: input visibility: public parameters: - name: key - name: default default: 'null' comment: '# * Get a route parameter for the current route. # * # * @param string $key # * @param string|null $default # * @return mixed' - name: getCurrentRequest visibility: public parameters: [] comment: '# * Get the request currently being dispatched. # * # * @return \Illuminate\Http\Request' - name: getCurrentRoute visibility: public parameters: [] comment: '# * Get the currently dispatched route instance. # * # * @return \Illuminate\Routing\Route|null' - name: current visibility: public parameters: [] comment: '# * Get the currently dispatched route instance. # * # * @return \Illuminate\Routing\Route|null' - name: has visibility: public parameters: - name: name comment: '# * Check if a route with the given name exists. # * # * @param string|array $name # * @return bool' - name: currentRouteName visibility: public parameters: [] comment: '# * Get the current route name. # * # * @return string|null' - name: is visibility: public parameters: - name: '...$patterns' comment: '# * Alias for the "currentRouteNamed" method. # * # * @param mixed ...$patterns # * @return bool' - name: currentRouteNamed visibility: public parameters: - name: '...$patterns' comment: '# * Determine if the current route matches a pattern. # * # * @param mixed ...$patterns # * @return bool' - name: currentRouteAction visibility: public parameters: [] comment: '# * Get the current route action. # * # * @return string|null' - name: uses visibility: public parameters: - name: '...$patterns' comment: '# * Alias for the "currentRouteUses" method. # * # * @param array ...$patterns # * @return bool' - name: currentRouteUses visibility: public parameters: - name: action comment: '# * Determine if the current route action matches a given action. # * # * @param string $action # * @return bool' - name: singularResourceParameters visibility: public parameters: - name: singular default: 'true' comment: '# * Set the unmapped global resource parameters to singular. # * # * @param bool $singular # * @return void' - name: resourceParameters visibility: public parameters: - name: parameters default: '[]' comment: '# * Set the global resource parameter mapping. # * # * @param array $parameters # * @return void' - name: resourceVerbs visibility: public parameters: - name: verbs default: '[]' comment: '# * Get or set the verbs used in the resource URIs. # * # * @param array $verbs # * @return array|null' - name: getRoutes visibility: public parameters: [] comment: '# * Get the underlying route collection. # * # * @return \Illuminate\Routing\RouteCollectionInterface' - name: setRoutes visibility: public parameters: - name: routes comment: '# * Set the route collection instance. # * # * @param \Illuminate\Routing\RouteCollection $routes # * @return void' - name: setCompiledRoutes visibility: public parameters: - name: routes comment: '# * Set the compiled route collection instance. # * # * @param array $routes # * @return void' - name: uniqueMiddleware visibility: public parameters: - name: middleware comment: '# * Remove any duplicate middleware from the given array. # * # * @param array $middleware # * @return array' - name: setContainer visibility: public parameters: - name: container comment: '# * Set the container instance used by the router. # * # * @param \Illuminate\Container\Container $container # * @return $this' - name: __call visibility: public parameters: - name: method - name: parameters comment: '# * Dynamically handle calls into the router instance. # * # * @param string $method # * @param array $parameters # * @return mixed' traits: - ArrayObject - Closure - Illuminate\Container\Container - Illuminate\Contracts\Events\Dispatcher - Illuminate\Contracts\Routing\BindingRegistrar - Illuminate\Contracts\Support\Arrayable - Illuminate\Contracts\Support\Jsonable - Illuminate\Contracts\Support\Responsable - Illuminate\Database\Eloquent\Model - Illuminate\Http\JsonResponse - Illuminate\Http\Request - Illuminate\Http\Response - Illuminate\Routing\Events\PreparingResponse - Illuminate\Routing\Events\ResponsePrepared - Illuminate\Routing\Events\RouteMatched - Illuminate\Routing\Events\Routing - Illuminate\Support\Arr - Illuminate\Support\Collection - Illuminate\Support\Str - Illuminate\Support\Stringable - Illuminate\Support\Traits\Macroable - Illuminate\Support\Traits\Tappable - JsonSerializable - ReflectionClass - stdClass - Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory - Tappable interfaces: - BindingRegistrar