Stores the $matchResults in the cache
public storeMatchResults ( |
||
$httpRequest | ||
$matchResults | array | |
리턴 | void |
/** * Iterates through all configured routes and calls matches() on them. * Returns the matchResults of the matching route or NULL if no matching * route could be found. * * @param Request $httpRequest The web request to be analyzed. Will be modified by the router. * @return array The results of the matching route or NULL if no route matched */ public function route(Request $httpRequest) { $cachedMatchResults = $this->routerCachingService->getCachedMatchResults($httpRequest); if ($cachedMatchResults !== false) { return $cachedMatchResults; } $this->lastMatchedRoute = null; $this->createRoutesFromConfiguration(); /** @var $route Route */ foreach ($this->routes as $route) { if ($route->matches($httpRequest) === true) { $this->lastMatchedRoute = $route; $matchResults = $route->getMatchResults(); if ($matchResults !== null) { $this->routerCachingService->storeMatchResults($httpRequest, $matchResults); } $this->systemLogger->log(sprintf('Router route(): Route "%s" matched the path "%s".', $route->getName(), $httpRequest->getRelativePath()), LOG_DEBUG); return $matchResults; } } $this->systemLogger->log(sprintf('Router route(): No route matched the route path "%s".', $httpRequest->getRelativePath()), LOG_NOTICE); return null; }
/** * @test */ public function storeMatchResultsDoesNotStoreMatchResultsInCacheIfTheyContainObjects() { $matchResults = ['this' => ['contains' => ['objects', new \stdClass()]]]; $this->mockRouteCache->expects($this->never())->method('set'); $this->routerCachingService->storeMatchResults($this->mockHttpRequest, $matchResults); }