Example #1
0
 /**
  * Little fix to allow mixed regexp and rails routes in the router
  * @see lib/ezc/MvcTools/src/routes/ezcMvcRegexpRoute::prefix()
  */
 public function prefix($prefix)
 {
     // Detect the Regexp delimiter
     $patternDelim = $this->pattern[0];
     // Add the Regexp delimiter to the prefix
     $prefix = $patternDelim . $prefix . $patternDelim;
     parent::prefix($prefix);
 }
Example #2
0
 public function testsMatchComplex()
 {
     $route = new ezcMvcRegexpRoute('@^people(/((?P<nr>[0-9]+)|(?P<name>.+)))?$@', 'testController', 'action', array('nr' => '', 'name' => ''));
     $request = new ezcMvcRequest();
     $request->uri = 'people/hawking';
     $routeInfo = $route->matches($request);
     self::assertSame('testController', $routeInfo->controllerClass);
     self::assertEquals(array('nr' => '', 'name' => 'hawking'), $request->variables);
     $request = new ezcMvcRequest();
     $request->uri = 'people/42';
     $routeInfo = $route->matches($request);
     self::assertSame('testController', $routeInfo->controllerClass);
     self::assertEquals(array('nr' => '42', 'name' => ''), $request->variables);
     $request = new ezcMvcRequest();
     $request->uri = 'people';
     $routeInfo = $route->matches($request);
     self::assertSame('testController', $routeInfo->controllerClass);
     self::assertEquals(array('nr' => '', 'name' => ''), $request->variables);
     $request = new ezcMvcRequest();
     $request->uri = 'people/';
     $routeInfo = $route->matches($request);
     self::assertEquals(null, $routeInfo);
 }