我想在我的小网站中使用独立的Symfony2路由组件。我根据文档和一些例子创建了这个:
$request = Request::createFromGlobals();
$routeTest = new Symfony\Component\Routing\Route('/route-test', array('controller' => 'test'));
$routes = new Symfony\Component\Routing\RouteCollection();
$routes->add('test', $routeTest);
$context = new Symfony\Component\Routing\RequestContext();
$context->fromRequest($request);
$matcher = new Symfony\Component\Routing\Matcher\UrlMatcher($routes, $context);
$matcher->match($request->getPathInfo());
我不明白我应该如何调用我的控制器测试,我已经传递给了Route构造函数。因此,我希望得到像Silex Route匹配的东西:
$app->get('/hello/{name}', function($name) use($app) {
return 'Hello '.$app->escape($name);
});
对不起我的英语......
答案 0 :(得分:5)
$matcher->match()
返回 [1] 匹配路线 [2] 的属性(包括特殊{{1}包含路径名称 [3] )的属性。
_route
默认值也包含在属性中,因此您可以轻松访问它,然后使用类似call_user_func
的内容来调用控制器:
controller