/** * @param Request $httpRequest * @return ActionRequest */ protected function route(Request $httpRequest) { $actionRequest = new ActionRequest($httpRequest); $matchResults = $this->router->route($httpRequest); if ($matchResults !== null) { $requestArguments = $actionRequest->getArguments(); $mergedArguments = Arrays::arrayMergeRecursiveOverrule($requestArguments, $matchResults); $actionRequest->setArguments($mergedArguments); } return $actionRequest; }
/** * Resolve a route for the request * * Stores the resolved route values in the ComponentContext to pass them * to other components. They can be accessed via ComponentContext::getParameter(outingComponent::class, 'matchResults'); * * @param ComponentContext $componentContext * @return void */ public function handle(ComponentContext $componentContext) { $matchResults = $this->router->route($componentContext->getHttpRequest()); $componentContext->setParameter(RoutingComponent::class, 'matchResults', $matchResults); }