PHPackages                             yiisoft/request-provider - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. yiisoft/request-provider

ActiveLibrary[Framework](/categories/framework)

yiisoft/request-provider
========================

PSR-7 request provider

1.3.0(5mo ago)999.7k—4.2%6[1 issues](https://github.com/yiisoft/request-provider/issues)[2 PRs](https://github.com/yiisoft/request-provider/pulls)11BSD-3-ClausePHPPHP 8.1 - 8.5CI passing

Since Mar 2Pushed 1w ago11 watchersCompare

[ Source](https://github.com/yiisoft/request-provider)[ Packagist](https://packagist.org/packages/yiisoft/request-provider)[ Docs](https://www.yiiframework.com/)[ GitHub Sponsors](https://github.com/sponsors/yiisoft)[ OpenCollective](https://opencollective.com/yiisoft)[ RSS](/packages/yiisoft-request-provider/feed)WikiDiscussions master Synced yesterday

READMEChangelog (4)Dependencies (11)Versions (12)Used By (11)

 [ ![Yii](https://camo.githubusercontent.com/8317c17418b39410a660f5149071d26c5023c0d5fb2b7ebb771324812f666d73/68747470733a2f2f796969736f66742e6769746875622e696f2f646f63732f696d616765732f7969695f6c6f676f2e737667) ](https://github.com/yiisoft)

Yii Request Provider
====================

[](#yii-request-provider)

[![Latest Stable Version](https://camo.githubusercontent.com/e6186c01231d919470ffc2b144fac5724a5807046790c85f9a10a157cd55a9bd/68747470733a2f2f706f7365722e707567782e6f72672f796969736f66742f726571756573742d70726f76696465722f76)](https://packagist.org/packages/yiisoft/request-provider)[![Total Downloads](https://camo.githubusercontent.com/ad0e6bdfd4810490b0537f0e0817d67c07ae1dcf82e38e8ec6e9842e562f7fe9/68747470733a2f2f706f7365722e707567782e6f72672f796969736f66742f726571756573742d70726f76696465722f646f776e6c6f616473)](https://packagist.org/packages/yiisoft/request-provider)[![Build status](https://github.com/yiisoft/request-provider/actions/workflows/build.yml/badge.svg)](https://github.com/yiisoft/request-provider/actions/workflows/build.yml)[![Code Coverage](https://camo.githubusercontent.com/670b9a9a21989dba9f2a99c8a94d568f66a1f440357dd52dafb36eb10a1a9746/68747470733a2f2f636f6465636f762e696f2f67682f796969736f66742f726571756573742d70726f76696465722f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/yiisoft/request-provider)[![Mutation testing badge](https://camo.githubusercontent.com/4d8b74287f296adee4900d4395f96bb0ac17d689c831e38e9e0933972318a5cf/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f7374796c653d666c61742675726c3d687474707325334125324625324662616467652d6170692e737472796b65722d6d757461746f722e696f2532466769746875622e636f6d253246796969736f6674253246726571756573742d70726f76696465722532466d6173746572)](https://dashboard.stryker-mutator.io/reports/github.com/yiisoft/request-provider/master)[![Static analysis](https://github.com/yiisoft/request-provider/actions/workflows/static.yml/badge.svg?branch=master)](https://github.com/yiisoft/request-provider/actions/workflows/static.yml?query=branch%3Amaster)[![type-coverage](https://camo.githubusercontent.com/8a05ad488d041e2f6ecd7a1950ca98d8b86418117f4f23f76cac95b58f583127/68747470733a2f2f73686570686572642e6465762f6769746875622f796969736f66742f726571756573742d70726f76696465722f636f7665726167652e737667)](https://shepherd.dev/github/yiisoft/request-provider)[![psalm-level](https://camo.githubusercontent.com/1f3be94084d1feedb6b1fc1de2483c17af5a7fefd2d429d6b457268ebf577ebf/68747470733a2f2f73686570686572642e6465762f6769746875622f796969736f66742f726571756573742d70726f76696465722f6c6576656c2e737667)](https://shepherd.dev/github/yiisoft/request-provider)

The package provides the current PSR-7 request as a dependency.

Requirements
------------

[](#requirements)

- PHP 8.1 - 8.5.

Installation
------------

[](#installation)

The package can be installed with [Composer](https://getcomposer.org):

```
composer require yiisoft/request-provider
```

General usage
-------------

[](#general-usage)

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();
        // ...
    }
}
```

### Request cookies provider

[](#request-cookies-provider)

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');
  }
}
```

### Request headers provider

[](#request-headers-provider)

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();
  }
}
```

Documentation
-------------

[](#documentation)

- [Internals](docs/internals.md)

If you need help or have a question, the [Yii Forum](https://forum.yiiframework.com/c/yii-3-0/63) is a helpful resource. You may also check out other resources at [Yii Community Resources](https://www.yiiframework.com/community).

License
-------

[](#license)

The Yii Request Provider is free software. It is released under the terms of the BSD License. Please see [`LICENSE`](./LICENSE.md) for more information.

Maintained by [Yii Software](https://www.yiiframework.com/).

Support the project
-------------------

[](#support-the-project)

[![Open Collective](https://camo.githubusercontent.com/a2b15f8e2268d4e3842e00d41ff7a57cce2ad8bd8d8769c5dc4fa05a546a4f62/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4f70656e253230436f6c6c6563746976652d73706f6e736f722d3765616466313f6c6f676f3d6f70656e253230636f6c6c656374697665266c6f676f436f6c6f723d376561646631266c6162656c436f6c6f723d353535353535)](https://opencollective.com/yiisoft)

Follow updates
--------------

[](#follow-updates)

[![Official website](https://camo.githubusercontent.com/d6b0929173e28cc627430d2519ca1853466a70f37395877eaf4820cb3e1e1909/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f506f77657265645f62792d5969695f4672616d65776f726b2d677265656e2e7376673f7374796c653d666c6174)](https://www.yiiframework.com/)[![Twitter](https://camo.githubusercontent.com/d077c362ac639792171af8bc002ee827816733dfc0925f70b557e6d151022226/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f747769747465722d666f6c6c6f772d3144413146323f6c6f676f3d74776974746572266c6f676f436f6c6f723d314441314632266c6162656c436f6c6f723d3535353535353f7374796c653d666c6174)](https://twitter.com/yiiframework)[![Telegram](https://camo.githubusercontent.com/4e38dd12535575c39c65bea7119b95e663abb2d1f4e3d669a27bbda07ef603f0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f74656c656772616d2d6a6f696e2d3144413146323f7374796c653d666c6174266c6f676f3d74656c656772616d)](https://t.me/yii3en)[![Facebook](https://camo.githubusercontent.com/48204e301b34b29b0815854544f04c337fc0692096cab35e9a1f8c53a42c2307/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f66616365626f6f6b2d6a6f696e2d3144413146323f7374796c653d666c6174266c6f676f3d66616365626f6f6b266c6f676f436f6c6f723d666666666666)](https://www.facebook.com/groups/yiitalk)[![Slack](https://camo.githubusercontent.com/1a3645ba1c97e6684d0349bc478201e1621ba0d3efad516d81035364d442bad7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f736c61636b2d6a6f696e2d3144413146323f7374796c653d666c6174266c6f676f3d736c61636b)](https://yiiframework.com/go/slack)

###  Health Score

58

—

FairBetter than 98% of packages

Maintenance85

Actively maintained with recent releases

Popularity41

Moderate usage in the ecosystem

Community33

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 52.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~232 days

Total

4

Last Release

154d ago

PHP version history (2 changes)1.0.0PHP ^8.1

1.3.0PHP 8.1 - 8.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/fc29e4e7068a00fe9b9db37b8aadda1db6020adcacef810461e47b99c2b150e6?d=identicon)[samdark](/maintainers/samdark)

![](https://www.gravatar.com/avatar/53e5ee1dedd50f71e4aeeac2929f786cdfb400359d4776e6cd806388d0d5df2c?d=identicon)[vjik](/maintainers/vjik)

---

Top Contributors

[![vjik](https://avatars.githubusercontent.com/u/525501?v=4)](https://github.com/vjik "vjik (21 commits)")[![xepozz](https://avatars.githubusercontent.com/u/6815714?v=4)](https://github.com/xepozz "xepozz (6 commits)")[![arogachev](https://avatars.githubusercontent.com/u/8326201?v=4)](https://github.com/arogachev "arogachev (3 commits)")[![luizcmarin](https://avatars.githubusercontent.com/u/67489841?v=4)](https://github.com/luizcmarin "luizcmarin (2 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")[![rossaddison](https://avatars.githubusercontent.com/u/8538339?v=4)](https://github.com/rossaddison "rossaddison (1 commits)")[![hacan359](https://avatars.githubusercontent.com/u/59626486?v=4)](https://github.com/hacan359 "hacan359 (1 commits)")[![StyleCIBot](https://avatars.githubusercontent.com/u/11048387?v=4)](https://github.com/StyleCIBot "StyleCIBot (1 commits)")[![DikoIbragimov](https://avatars.githubusercontent.com/u/167644693?v=4)](https://github.com/DikoIbragimov "DikoIbragimov (1 commits)")[![samdark](https://avatars.githubusercontent.com/u/47294?v=4)](https://github.com/samdark "samdark (1 commits)")[![mspirkov](https://avatars.githubusercontent.com/u/63721828?v=4)](https://github.com/mspirkov "mspirkov (1 commits)")

---

Tags

httppsrpsr-7requestyii3httprequestpsrprovideryii3

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/yiisoft-request-provider/health.svg)

```
[![Health](https://phpackages.com/badges/yiisoft-request-provider/health.svg)](https://phpackages.com/packages/yiisoft-request-provider)
```

###  Alternatives

[cakephp/cakephp

The CakePHP framework

8.9k19.5M1.8k](/packages/cakephp-cakephp)[typo3/cms

TYPO3 CMS is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.

1.2k1.9M122](/packages/typo3-cms)[cakephp/authentication

Authentication plugin for CakePHP

1214.1M103](/packages/cakephp-authentication)[typo3/cms-core

TYPO3 CMS Core

3713.2M5.1k](/packages/typo3-cms-core)[cakephp/authorization

Authorization abstraction layer plugin for CakePHP

762.5M49](/packages/cakephp-authorization)[windwalker/framework

The next generation PHP framework.

25740.3k1](/packages/windwalker-framework)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
