public mapRoute ( Symfony\Component\Routing\Route $route ) : Symfony\Component\Routing\Route | ||
$route | Symfony\Component\Routing\Route | Route REST route |
Résultat | Symfony\Component\Routing\Route |
public function mapRoute(Route $route)
{
$optionsRoute = clone $route;
$optionsRoute->setMethods(array('OPTIONS'));
$optionsRoute->setDefault('_controller', '_ezpublish_rest.controller.options:getRouteOptions');
$optionsRoute->setDefault('allowedMethods', implode(',', $route->getMethods()));
return $optionsRoute;
}
public function testMapRoute() { $restRoute = new Route('/route/one/{id}', array('_controller' => 'anything'), array('id' => '[0-9]+'), array(), '', array(), array('PUT', 'DELETE')); $optionsRoute = $this->mapper->mapRoute($restRoute); self::assertEquals(array('OPTIONS'), $optionsRoute->getMethods()); self::assertEquals($restRoute->getRequirement('id'), $optionsRoute->getRequirement('id')); self::assertEquals('PUT,DELETE', $optionsRoute->getDefault('allowedMethods')); self::assertEquals('_ezpublish_rest.controller.options:getRouteOptions', $optionsRoute->getDefault('_controller')); }