我不理解Symfony路由组件的API的语义。
从上的第一个代码示例 the Routing Component documentation page :
$context = new RequestContext('/'); $matcher = new UrlMatcher($routes, $context); $parameters = $matcher->match('/foo');
为什么主机名和HTTP方法是通过 $context 通过一个参数 match() ? 还是这样?还有一个 path 中的参数 RequestContext 构造器。
$context
match()
path
RequestContext
一个得到印象 匹配() 应该在一个请求中多次调用不同的路径,我无法想象会发生这种情况。
匹配()
在将路由组件集成到我的应用程序中之后,我现在有了一个预感 就是那样做的。
RequestContext的大多数属性(方法、请求体、get参数)都可以在不做修改的情况下使用,但根据所需的路径结构和服务器配置(重写规则等),需要以多种方式对路径进行预处理。
这不能解释为什么路径被传递到 match()