symfony/http-foundation 未实施 psr/http-message

symfony/http-foundation doesn't implement psr/http-message

为什么 symfony http-foundation 没有实现 psr http-message ?? 我想使用 php 框架互操作性。

在我看来路由器、调度程序、ioc 容器、http 消息和... 应该有一个 psr 接口,所有框架都应该服从接口。

所以我想简单地实现我的项目而不使用特定的 php 框架 只需使用我需要的 php 个包。

我应该自己实施所有这些东西吗?? 所有框架都应该实现psr接口不是很明显吗??

毕竟为什么其他 psr 标准(路由器、调度程序、容器)花费太多时间??

HttpFoundation 和 PSR-7 的基础非常不同(最大的区别是 PSR-7 对象是不可变的,而 HttpFoundation 的对象是可变的)。这使得 Symfony 很难(如果不是不可能的话)在不引入完全重写的情况下将 HttpFoundation 更新为 PSR-7 接口(因此所有当前的 Symfony 应用程序都会出现许多向后兼容性中断)。

为了仍然提供支持 PSR-7 的方法,您可以使用 symfony/psr-http-message-bridge (docs),它提供工厂将 HttpFoundation RequestResponse 转换为 PSR- 7 个请求和响应消息(反之亦然)。

当您针对控制器中的 PSR-7 接口而不是 HttpFoundation 请求键入提示时,这会自动为您完成。