PHPackages                             khovanskiy/yii2-request-id - 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. khovanskiy/yii2-request-id

ActiveYii2-extension

khovanskiy/yii2-request-id
==========================

Yii2 component for handling and propagating request IDs

1.0.2(1y ago)08PHP

Since Dec 19Pushed 1y ago1 watchersCompare

[ Source](https://github.com/Khovanskiy5/Yii2-Request-Id)[ Packagist](https://packagist.org/packages/khovanskiy/yii2-request-id)[ RSS](/packages/khovanskiy-yii2-request-id/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (4)Used By (0)

Yii2 Request ID
===============

[](#yii2-request-id)

[![Yii2](https://camo.githubusercontent.com/32fad4c5d7505b8c9ad84022a8249514e0f9948213ceb27e4f90286c5ce7be27/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f596969322d253545322e302d627269676874677265656e2e737667)](https://camo.githubusercontent.com/32fad4c5d7505b8c9ad84022a8249514e0f9948213ceb27e4f90286c5ce7be27/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f596969322d253545322e302d627269676874677265656e2e737667)[![PHP](https://camo.githubusercontent.com/4142cf6c1c8457594fe62fd0624f9eead8a67d3b31249d0cef04ca3e92d2e729/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545372e342d626c75652e737667)](https://camo.githubusercontent.com/4142cf6c1c8457594fe62fd0624f9eead8a67d3b31249d0cef04ca3e92d2e729/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545372e342d626c75652e737667)[![License](https://camo.githubusercontent.com/f6336505c9025e4d1a2a79aa50a213fb1a7c78930ec8ad9525c24d09bc61af83/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d425344253230332d2d436c617573652d79656c6c6f772e737667)](https://camo.githubusercontent.com/f6336505c9025e4d1a2a79aa50a213fb1a7c78930ec8ad9525c24d09bc61af83/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d425344253230332d2d436c617573652d79656c6c6f772e737667)

**Yii2 Request ID** — это удобный компонент для фреймворка Yii2, который автоматически генерирует и обрабатывает уникальные идентификаторы запросов (Request ID). Эти идентификаторы помогают отслеживать и логировать запросы как в веб-приложениях, так и в консольных командах, обеспечивая лучшую трассировку и отладку.

Содержание
----------

[](#содержание)

1. [Особенности](#%D0%BE%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8)
2. [Установка](#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)
3. [Настройка](#%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0)
4. [Использование](#%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
5. [Примеры](#%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)
6. [Пользовательские генераторы Request ID](#%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B5-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B-request-id)
7. [Требования](#%D1%82%D1%80%D0%B5%D0%B1%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
8. [Лицензия](#%D0%BB%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F)
9. [Авторы](#%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D1%8B)
10. [Поддержка](#%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B0)

Особенности
-----------

[](#особенности)

- **Автоматическая генерация** уникального идентификатора для каждого HTTP-запроса и консольной команды.
- **Передача идентификатора** через заголовок `X-Request-ID` в HTTP-ответах.
- **Доступ к идентификатору** через сервис `RequestIdService` в любом месте приложения.
- **Поддержка консольных команд** с выводом идентификатора в консоль и логах.
- **Возможность расширения** и использования собственных генераторов идентификаторов.

Установка
---------

[](#установка)

### Требования

[](#требования)

- **PHP:** &gt;= 7.4
- **Yii2:** &gt;= 2.0.45

### Шаг 1: Установка через Composer

[](#шаг-1-установка-через-composer)

Для установки пакета выполните следующую команду в корневой директории вашего проекта Yii2 Advanced:

```
composer require khovanskiy/yii2-request-id
```

### Установка локального пакета (опционально)

[](#установка-локального-пакета-опционально)

Если вы разрабатываете пакет локально и хотите подключить его без публикации, выполните следующие шаги:

1. **Добавьте репозиторий в `composer.json` основного проекта:**

```
{
  "repositories": [
    {
      "type": "composer",
      "url": "https://asset-packagist.org"
    },
    {
      "type": "path",
      "url": "../yii2-request-id",
      "options": {
        "symlink": true
      }
    }
  ]
}
```

**Примечание:** Убедитесь, что путь `"../yii2-request-id"` указывает на директорию вашего локального пакета.

2. **Установите пакет с указанием ветки разработки:**

```
composer require khovanskiy/yii2-request-id:dev-main
```

**Важно:** Если в вашем пакете используется нестабильная версия (`dev-main`), убедитесь, что в `composer.json` основного проекта установлено `"prefer-stable": true`.

Настройка
---------

[](#настройка)

После установки необходимо настроить компонент в вашем приложении Yii2.

### Шаг 1: Конфигурация Yii2

[](#шаг-1-конфигурация-yii2)

Откройте конфигурационный файл вашего приложения (`common/config/main.php`, `backend/config/main.php` или `frontend/config/main.php` в зависимости от структуры вашего проекта) и добавьте следующие настройки:

```
