我不明白的Symfony路由组件的API的语义。
从上the Routing Component documentation page第一代码例如:
$context = new RequestContext('/');
$matcher = new UrlMatcher($routes, $context);
$parameters = $matcher->match('/foo');
为什么主机名和HTTP方法通过$context
传入和通过参数的路径match()
?是这样吗?还有在path
构造一个RequestContext
参数。
人们得到match()
应该有一个请求中不同的路径,这是我无法想象会不会发生被多次调用的印象。
路由组件集成到我的应用程序后,现在我有一种预感,为什么会那样做。
大部分的RequestContext的性质 - 方法,要求体,获得参数 - 可以不加修改地使用,但根据所期望的路径的结构和服务器配置(重写规则,等)也有在其中路径需要有多种方式预处理。
这并不能解释为什么路径传递给match()
功能和请求对象传递给构造函数,但它确实解释为什么他们分别通过英寸