bnf/typo3-http-factory

PSR-17 HTTP message factories for the TYPO3 PSR-7 implementation

0.1.2 2020-09-02 11:54 UTC

This package is auto-updated.

Last update: 2024-03-29 04:11:41 UTC


README

Scrutinizer Code Quality Build Status Coverage Status

Deprecated

As of TYPO3 v10.2 this package is no longer required, as the factories have been merged into TYPO3 core.

Installation

To use this package, install bnf/typo3-http-factory using Composer:

composer require bnf/typo3-http-factory

Note, this is a pure composer package – not a full-fledged TYPO3 extension. This package is intended to be wrapped by other TYPO3 extensions like bnf/slim-typo3 in order to provide PSR-17 factories in a PSR-7/PSR-15 request handler context.

Usage in a custom wrapper extension

If you want to wrap this packages in an own TYPO3 extension, you need to specify the interface mappings for the TYPO3 dependency injection containers.

For TYPO3 v8/v9 you may provide configuration for the Extbase ObjectManager in ext_localconf.php:

$container = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\Container\Container::class);
$container->registerImplementation(\Psr\Http\Message\RequestFactoryInterface::class, \Bnf\Typo3HttpFactory\RequestFactory::class);
$container->registerImplementation(\Psr\Http\Message\ResponseFactoryInterface::class, \Bnf\Typo3HttpFactory\ResponseFactory::class);
$container->registerImplementation(\Psr\Http\Message\ServerRequestFactoryInterface::class, \Bnf\Typo3HttpFactory\ServerRequestFactory::class);
$container->registerImplementation(\Psr\Http\Message\StreamFactoryInterface::class, \Bnf\Typo3HttpFactory\StreamFactory::class);
$container->registerImplementation(\Psr\Http\Message\UploadedFileFactoryInterface::class, \Bnf\Typo3HttpFactory\UploadedFileFactory::class);
$container->registerImplementation(\Psr\Http\Message\UriFactoryInterface::class, \Bnf\Typo3HttpFactory\UriFactory::class);
unset($container);

As of TYPO3 v10.0 you may configure the alias map in your extensions dependency injection configuration Configuration/Services.yaml:

Psr\Http\Message\RequestFactoryInterface:
  alias: Bnf\Typo3HttpFactory\RequestFactory
Psr\Http\Message\ResponseFactoryInterface:
  alias: Bnf\Typo3HttpFactory\ResponseFactory
Psr\Http\Message\ServerRequestFactoryInterface:
  alias: Bnf\Typo3HttpFactory\ServerRequestFactory
Psr\Http\Message\StreamFactoryInterface:
  alias: Bnf\Typo3HttpFactory\StreamFactory
Psr\Http\Message\UploadedFileFactoryInterface:
  alias: Bnf\Typo3HttpFactory\UploadedFileFactory
Psr\Http\Message\UriFactoryInterface:
  alias: Bnf\Typo3HttpFactory\UriFactory