在 Symfony 中,您可以:
use Symfony\Component\HttpFoundation\Request;
$request = Request::createFromGlobals();
我想知道TYPO3中是否有类似的东西。
谢谢你。
查看此更改https://review.typo3.org/#/c/40355/
[特征] 引入基于 PSR-7 的请求/响应
PSR-7 标准适用于具有向后兼容层的 TYPO3 Bootstrap。
PSR-7 实现带来了几个新类: * Message(请求和响应的基础) * Request(在 PHP 中发出的请求) * ServerRequest 和基于当前系统环境的工厂 * Response * Uri(用于获取的统一 API URI 的几个部分)
在任何 TYPO3 请求中,都会在 Bootstrap 中创建一个新的 ServerRequest 对象,并将其移交给 RequestHandler,后者可以使用该对象来检查某些 GET 和 POST 变量,而不是使用 GeneralUtility。
正确的调用(通常是 Controller)创建一个 Response 对象,该对象被返回给 RequestHandler + Bootstrap。TYPO3 Bootstrap 将输出与 shutdown() 方法相关的任何内容。
一个示例显示了 LoginController 并且当前是硬连线的,因为还没有适当的路由/调度。
目前这是一个内部 API,因为一旦基础进入,其余部分(调度/路由器和控制器 API)将随之而来。
请注意,PSR-7 标准适用于值对象,这意味着无法修改任何对象,但如果修改,将为 Message、ServerRequest 和 Response 创建新对象。
接下来的步骤是: * 集成适当的路由 + 调度后端路由以注册新的 BE 请求 * 迁移所有 AJAX 调用以使用新的 API 和请求/响应处理 * 为所有基于请求的常规 BE 请求引入一个通用基本控制器/Response 并作为 sc_base 的替代品 * 然后:为整个引导程序/调度 + 路由/控制器逻辑提供适当的文档 * 将 symfony 控制台应用程序集成到 CLI 引导程序中,作为请求/响应的替代品 * 重构 TSFE 以正确使用 Response / Request 对象* 重构重定向逻辑以使用响应对象
有关核心中的用法,请参见 EXT:backend/Classes/Http/ 和 EXT:frontend/Classes/Http 中的 RequestHandler