/** * 根据route name生成url * @param $name * @param array $parameters * @param bool $absolute * @return string * @throws RouteNotFoundException */ function generateByName($name, $parameters = [], $absolute = false) { $route = $this->routes->getByName($name); if (is_null($route)) { throw new RouteNotFoundException(sprintf('Route "%s" not defined.', $name)); } return $this->getGenerator()->generate($route, $parameters, $absolute); }
function testPrefix() { $routes = new RouteCollection(); $routeBuilder = new RouteBuilder('/', $routes); $routeBuilder->prefix('/foo', function (RouteBuilder $routes) { $routes->http('/bar', ['name' => 'bar']); }); $this->assertEquals('/foo/bar', $routes->getByName('bar')->getPath()); }