Создать объект запроса из глобалов в TYPO3
В Symfony вы можете сделать:
use Symfony\Component\HttpFoundation\Request;
$request = Request::createFromGlobals();
Я хотел бы знать, есть ли что-то подобное в TYPO3.
Спасибо.
1 ответ
Смотрите это изменение https://review.typo3.org/
[FEATURE] Ввести запрос / ответ на основе PSR-7
Стандарт PSR-7 адаптирован к начальной загрузке TYPO3 с обратно совместимым слоем.
Реализация PSR-7 приносит несколько новых классов: * Message (основа для запросов и ответов) * Request (для запросов, сделанных в PHP) * ServerRequest и фабрика, основанная на текущей системной среде * Response * Uri (унифицированный API для выборки несколько частей URI)
При любом запросе TYPO3 новый объект ServerRequest создается внутри начальной загрузки и передается RequestHandler, который затем может использовать этот объект для проверки определенных переменных GET и POST вместо использования GeneralUtility.
Правильный вызов (обычно Контроллер) создает объект Response, который передается обратно RequestHandler + Bootstrap. Bootstrap TYPO3 выведет все, что связано с методом shutdown().
Пример показан с LoginController и в настоящее время аппаратно подключен, так как пока нет правильной маршрутизации / диспетчеризации.
В настоящее время это внутренний API, поскольку остальные (Dispatch/Router и Controller API) будут следовать, как только база будет включена.
Обратите внимание, что стандарт PSR-7 работает с объектами значений, что означает, что невозможно изменить какой-либо объект, но вместо этого будут созданы новые объекты для Message, ServerRequest и Response, если они будут изменены.
Следующие шаги: * Интеграция правильной маршрутизации + диспетчеризация для внутренних маршрутов для регистрации новых запросов BE * Перенос всех вызовов AJAX для использования нового API и обработки запросов / ответов * Введение общего базового контроллера для всех обычных запросов BE, основанного на запросах / Response и работает как замена sc_base * Затем: надлежащая документация для всей логики начальной загрузки / отправки + маршрутизации / контроллера * Интеграция консольного приложения Symfony в загрузочную CLI в качестве альтернативы для Request/Response * Refactor TSFE для правильного использования объектов Response / Request * Refactor перенаправляет логику для использования объектов Response
смотрите RequestHandler в EXT:backend/Classes/Http/ и EXT:frontend/Classes/Http для использования в ядре