-1

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

在我看来 router 、 dispatcher 、 ioc container 、 http message 和......应该有一个 psr 接口,所有框架都应该遵守这些接口。

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

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

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

4

1 回答 1

8

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

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

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

于 2016-03-12T09:15:11.040 回答