diff --git a/README.md b/README.md index f81e93f..43797e6 100644 --- a/README.md +++ b/README.md @@ -35,16 +35,10 @@ class AppModule extends AbstractModule ````php class Foo { - /** - * @var \Psr\Http\Message\ServerRequestInterface - */ - private $request; - - public function __construct(RequestProviderInterface $requestProvider) + public function __construct(ServerRequestInterface $serverRequest) { - $this->request = requestProvider->get(); // retrieve cookies - $cookie = $this->request->getCookieParams(); // $_COOKIE + $cookie = $serverRequest->getCookieParams(); // $_COOKIE } } ```` diff --git a/src/HttpRequestRayProvider.php b/src/HttpRequestRayProvider.php new file mode 100644 index 0000000..61c1c6e --- /dev/null +++ b/src/HttpRequestRayProvider.php @@ -0,0 +1,15 @@ +get(); + } +} diff --git a/src/Psr7Module.php b/src/Psr7Module.php index 8c4cebf..f654284 100644 --- a/src/Psr7Module.php +++ b/src/Psr7Module.php @@ -1,6 +1,7 @@ bind(RequestProviderInterface::class)->to(HttpRequestProvider::class); + $this->bind(ServerRequest::class)->toProvider(HttpRequestRayProvider::class); } } diff --git a/tests/Psr7HttpModuleTest.php b/tests/Psr7HttpModuleTest.php index 2860364..af41fe6 100644 --- a/tests/Psr7HttpModuleTest.php +++ b/tests/Psr7HttpModuleTest.php @@ -1,6 +1,7 @@ assertInstanceOf(ServerRequestInterface::class, $request); } + public function testPsr7ServerRequestTest() + { + $injector = new Injector(new Psr7Module); + /* @var ServerRequest $serverRequest */ + $serverRequest = $injector->getInstance(ServerRequest::class); + $this->assertInstanceOf(ServerRequest::class, $serverRequest); + } + public function superGlobalsServer() { return [