Example #1
0
 /**
  * @param RequestContext $requestContext
  * @return bool
  */
 public function isMatched(RequestContext $requestContext)
 {
     if (!empty($this->pathTemplate)) {
         if ($this->pathTemplate->match($requestContext->getPath(), $matchedParams)) {
             $this->storeDefaultParameters($matchedParams);
         } else {
             return false;
         }
     }
     if (!empty($this->hostTemplate)) {
         if ($this->hostTemplate->match($requestContext->getHost(), $matchedParams)) {
             $this->storeParameters($matchedParams);
         } else {
             return false;
         }
     }
     if (!empty($this->scheme)) {
         if (!in_array($requestContext->getScheme(), explode('|', $this->scheme))) {
             return false;
         }
     }
     if (!empty($this->method)) {
         if (!in_array(strtolower($requestContext->getMethod()), explode('|', $this->method))) {
             return false;
         }
     }
     return true;
 }
Example #2
0
 /**
  *
  */
 public function testWithQuotedDefaultValueDefinition()
 {
     $template = new Template('/list/{page:\\d*:1}/');
     $result = $template->match('/list/', $parameters);
     $this->assertTrue($result);
     $template = new Template('/list/{page:\\d*:\\:123\\{}/');
     $parameters = array();
     $template->match('/list/', $parameters);
     $this->assertArrayHasKey('page', $parameters);
     $this->assertEquals(':123{', $parameters['page']);
     $template = new Template('/:::/{page:[\\:]*:\\:}/');
     $parameters = array();
     $template->match('/:::/', $parameters);
     $this->assertArrayHasKey('page', $parameters);
     $this->assertEquals(':', $parameters['page']);
 }