The package provides the current PSR-7 request as a dependency.
- PHP 8.1 or higher.
The package can be installed with Composer:
composer require yiisoft/request-provider
First, add the Yiisoft\RequestProvider\RequestCatcherMiddleware
to your application middleware stack.
Then, when you need the current request, get the RequestProviderInterface
as a dependency and obtain the request from it:
use Yiisoft\RequestProvider\RequestProviderInterface;
final class MyService
{
public function __construct(
private readonly RequestProviderInterface $requestProvider
)
{
}
public function doIt()
{
$request = $this->requestProvider->get();
// ...
}
}
You can work with cookies as follows:
class MyClass
{
public function __construct(
private \Yiisoft\RequestProvider\RequestCookieProvider $cookies
) {}
public function go(): void
{
$this->cookies->has('foo');
$this->cookies->get('bar');
}
}
You can work with headers as follows:
class MyClass
{
public function __construct(
private \Yiisoft\RequestProvider\RequestHeaderProvider $headers
) {}
public function go(): void
{
$this->headers->has('X-Foo');
$this->headers->get('X-Foo');
$this->headers->getLine('X-Foo');
$this->headers->getAll();
$this->headers->getFirstHeaders();
}
}
If you need help or have a question, the Yii Forum is a helpful resource. You may also check out other resources at Yii Community Resources.
The Yii Request Provider is free software. It is released under the terms of the BSD License.
Please see LICENSE
for more information.
Maintained by Yii Software.