PPI\Framework\Router\ChainRouter::matchRequest PHP Method

matchRequest() public method

public matchRequest ( Request $request )
$request Symfony\Component\HttpFoundation\Request
    public function matchRequest(Request $request)
    {
        try {
            $parameters = parent::matchRequest($request);
            $this->matchedRouteRequest = $request;
            return $parameters;
        } catch (\Exception $e) {
            throw $e;
        }
    }

Usage Example

Esempio n. 1
0
 /**
  * Perform the matching of a route and return a set of routing parameters if a valid one is found.
  * Otherwise exceptions get thrown.
  *
  * @param HttpRequest $request
  *
  * @throws \Exception
  *
  * @return array
  */
 protected function handleRouting(HttpRequest $request)
 {
     $this->router = $this->serviceManager->get('Router');
     $this->router->warmUp($this->getCacheDir());
     try {
         // Lets load up our router and match the appropriate route
         $parameters = $this->router->matchRequest($request);
         if (!empty($parameters)) {
             if (null !== $this->logger) {
                 $this->logger->info(sprintf('Matched route "%s" (parameters: %s)', $parameters['_route'], $this->router->parametersToString($parameters)));
             }
         }
     } catch (ResourceNotFoundException $e) {
         $routeUri = $this->router->generate('Framework_404');
         $parameters = $this->router->matchRequest($request::create($routeUri));
     } catch (\Exception $e) {
         throw $e;
     }
     $parameters['_route_params'] = $parameters;
     return $parameters;
 }