代码之家  ›  专栏  ›  技术社区  ›  AndreKR

Symfony路由器UrlMatcher中match参数与RequestContext的区别

  •  2
  • AndreKR  · 技术社区  · 7 年前

    我不理解Symfony路由组件的API的语义。

    从上的第一个代码示例 the Routing Component documentation page :

    $context = new RequestContext('/');
    
    $matcher = new UrlMatcher($routes, $context);
    
    $parameters = $matcher->match('/foo');
    

    为什么主机名和HTTP方法是通过 $context 通过一个参数 match() ? 还是这样?还有一个 path 中的参数 RequestContext 构造器。

    一个得到印象 匹配() 应该在一个请求中多次调用不同的路径,我无法想象会发生这种情况。

    1 回复  |  直到 7 年前
        1
  •  0
  •   AndreKR    7 年前

    在将路由组件集成到我的应用程序中之后,我现在有了一个预感 就是那样做的。

    RequestContext的大多数属性(方法、请求体、get参数)都可以在不做修改的情况下使用,但根据所需的路径结构和服务器配置(重写规则等),需要以多种方式对路径进行预处理。

    这不能解释为什么路径被传递到 match()

    推荐文章