getCachedMatchResults() 공개 메소드

Checks the cache for the route path given in the Request and returns the result
public getCachedMatchResults ( Request $httpRequest ) : array | boolean
$httpRequest Neos\Flow\Http\Request
리턴 array | boolean the cached route values or FALSE if no cache entry was found
 /**
  * @test
  */
 public function getCachedMatchResultsReturnsFalseIfNotFoundInCache()
 {
     $expectedResult = false;
     $cacheIdentifier = '89dcfa70030cbdf762b727b5ba41c7bb';
     $this->mockRouteCache->expects($this->once())->method('get')->with($cacheIdentifier)->will($this->returnValue(false));
     $actualResult = $this->routerCachingService->getCachedMatchResults($this->mockHttpRequest);
     $this->assertEquals($expectedResult, $actualResult);
 }
예제 #2
0
 /**
  * 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;
 }