gpt4 book ai didi

php - Symfony Router UrlMatcher 中的 match 参数和 RequestContext 之间的区别

转载 作者:行者123 更新时间:2023-12-02 09:08:33 26 4
gpt4 key购买 nike

我不明白 Symfony 路由组件 API 的语义。

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

$context = new RequestContext('/');

$matcher = new UrlMatcher($routes, $context);

$parameters = $matcher->match('/foo');

为什么主机名和 HTTP 方法是通过 $context 传入的,路径是通过 match() 的参数传入的?或者是吗? RequestContext 构造函数中还有一个 path 参数。

给人的印象是 match() 应该在一个请求中使用不同的路径调用多次,我无法想象这种情况会发生。

最佳答案

将路由组件集成到我的应用程序中后,我现在有预感为什么就这样完成了。

RequestContext 的大部分属性 - 方法、请求正文、获取参数 - 无需修改即可使用,但根据所需的路径结构和服务器配置(重写规则等),路径有多种方式需要进行预处理。

这并不能解释为什么路径被传递给 match() 函数并且请求对象被传递给构造函数,但它确实解释了为什么它们被单独传入。

关于php - Symfony Router UrlMatcher 中的 match 参数和 RequestContext 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54498482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com