bnf / typo3-http-factory
PSR-17 HTTP message factories for the TYPO3 PSR-7 implementation
Installs: 3 174
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: ^7.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0
- typo3/cms-core: ^8.7 || ^9.5 || ^10.4
Requires (Dev)
- php: ^7.2
- php-coveralls/php-coveralls: ^2.1
- phpspec/prophecy: ^1.8
- phpstan/phpstan: ^0.11.15
- phpstan/phpstan-strict-rules: ^0.11.1
- phpunit/phpunit: ^8.3
- squizlabs/php_codesniffer: ^3.4
Provides
This package is auto-updated.
Last update: 2024-10-29 05:40:59 UTC
README
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