It is the aggregate HTTP package of the Fast Forward ecosystem. It installs the HTTP client and
factory packages and exposes them through one provider, HttpServiceProvider.
No. The package is a library-level building block. You can use it in a small script, a custom application bootstrap, or a larger framework-style architecture.
You need PHP 8.3 or newer. See :doc:`compatibility`.
PSR-7 defines HTTP message objects, PSR-17 defines factories that create those objects, and PSR-18 defines the client interface used to send requests. The overview on :doc:`index` introduces them in plain language.
Psr\Http\Message\ResponseFactoryInterface is the plain PSR-17 factory.
FastForward\Http\Message\Factory\ResponseFactoryInterface is the Fast Forward convenience
factory that adds helpers for JSON, HTML, text, redirects, and empty responses.
Request Psr\Http\Message\ServerRequestInterface from the container. It is created from PHP
globals. See :doc:`usage/server-requests`.
Use it when you want to control exactly when the request is built from globals, or when you need to
call fromGlobals() yourself in a more explicit bootstrap flow.
Request Psr\Http\Client\ClientInterface and build a request with
Psr\Http\Message\RequestFactoryInterface. See :doc:`usage/http-client`.
Request FastForward\Http\Message\Factory\ResponseFactoryInterface and use
createResponseFromPayload() or createResponseRedirect(). See
:doc:`usage/responses-and-streams`.
Yes. Register your own service provider before HttpServiceProvider so your identifiers are
resolved first. See :doc:`advanced/customization`.
No. You can register HttpMessageFactoryServiceProvider or HttpClientServiceProvider on
their own when you only need part of the stack.
Because it is built from PHP globals. In tests and CLI commands those globals may not represent a real HTTP request. Build the request manually in those environments.