Пример #1
0
 /**
  * @param Route $route
  */
 public function addRoute(Route $route)
 {
     $slimRoute = new \Slim\Route($route->getPath(), [$this, 'dummyCallable']);
     $slimRoute->setName($route->getName());
     $allowedMethods = $route->getAllowedMethods();
     $slimRoute->via($allowedMethods === Route::HTTP_METHOD_ANY ? 'ANY' : $allowedMethods);
     // Process options
     $options = $route->getOptions();
     if (isset($options['conditions']) && is_array($options['conditions'])) {
         $slimRoute->setConditions($options['conditions']);
     }
     // The middleware is merged with the rest of the route params
     $params = ['middleware' => $route->getMiddleware()];
     if (isset($options['defaults']) && is_array($options['defaults'])) {
         $params = array_merge($options['defaults'], $params);
     }
     $slimRoute->setParams($params);
     $this->router->map($slimRoute);
 }
Пример #2
0
 public function testSetParams()
 {
     $route = new \Slim\Route('/hello/:first/:last', function () {
     });
     $route->matches('/hello/mr/anderson');
     // <-- Parses params from argument
     $route->setParams(array('first' => 'agent', 'last' => 'smith'));
     $this->assertAttributeEquals(array('first' => 'agent', 'last' => 'smith'), 'params', $route);
 }
Пример #3
0
 /**
  * Test sets all params
  */
 public function testSetRouteParams()
 {
     // Prepare route
     $requestUri = '/hello/mr/anderson';
     $route = new \Slim\Route('/hello/:first/:last', 'fooCallable');
     // Parse route params
     $this->assertTrue($route->matches($requestUri));
     // Get params
     $params = $route->getParams();
     $this->assertEquals(2, count($params));
     $this->assertEquals('mr', $params['first']);
     $this->assertEquals('anderson', $params['last']);
     // Replace params
     $route->setParams(array('first' => 'john', 'last' => 'smith'));
     // Get new params
     $params = $route->getParams();
     $this->assertEquals(2, count($params));
     $this->assertEquals('john', $params['first']);
     $this->assertEquals('smith', $params['last']);
 }