Download the PHP package khovanskiy/yii2-request-id without Composer
On this page you can find all versions of the php package khovanskiy/yii2-request-id. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download khovanskiy/yii2-request-id
More information about khovanskiy/yii2-request-id
Files in khovanskiy/yii2-request-id
Package yii2-request-id
Short Description Yii2 component for handling and propagating request IDs
License
Informations about the package yii2-request-id
Yii2 Request ID
Yii2 Request ID — это удобный компонент для фреймворка Yii2, который автоматически генерирует и обрабатывает уникальные идентификаторы запросов (Request ID). Эти идентификаторы помогают отслеживать и логировать запросы как в веб-приложениях, так и в консольных командах, обеспечивая лучшую трассировку и отладку.
Содержание
- Особенности
- Установка
- Настройка
- Использование
- Примеры
- Пользовательские генераторы Request ID
- Требования
- Лицензия
- Авторы
- Поддержка
Особенности
- Автоматическая генерация уникального идентификатора для каждого HTTP-запроса и консольной команды.
- Передача идентификатора через заголовок
X-Request-ID
в HTTP-ответах. - Доступ к идентификатору через сервис
RequestIdService
в любом месте приложения. - Поддержка консольных команд с выводом идентификатора в консоль и логах.
-
Возможность расширения и использования собственных генераторов идентификаторов.
Установка
Требования
- PHP: >= 7.4
- Yii2: >= 2.0.45
Шаг 1: Установка через Composer
Для установки пакета выполните следующую команду в корневой директории вашего проекта Yii2 Advanced:
Установка локального пакета (опционально)
Если вы разрабатываете пакет локально и хотите подключить его без публикации, выполните следующие шаги:
- Добавьте репозиторий в
composer.json
основного проекта:
Примечание: Убедитесь, что путь "../yii2-request-id"
указывает на директорию вашего локального пакета.
- Установите пакет с указанием ветки разработки:
Важно: Если в вашем пакете используется нестабильная версия (dev-main
), убедитесь, что в composer.json
основного проекта установлено "prefer-stable": true
.
Настройка
После установки необходимо настроить компонент в вашем приложении Yii2.
Шаг 1: Конфигурация Yii2
Откройте конфигурационный файл вашего приложения (common/config/main.php
, backend/config/main.php
или frontend/config/main.php
в зависимости от структуры вашего проекта) и добавьте следующие настройки:
Пояснения:
- bootstrap: Добавляет класс
RequestIdBootstrap
в процесс загрузки приложения, что обеспечивает инициализацию компонента. - container.singletons: Определяет реализацию интерфейса
RequestIdGenerator
. В данном случае используется стандартный генераторNginxRequestIdGenerator
, который генерирует 32-символьные шестнадцатеричные строки.
Шаг 2: Настройка composer.json
(для локальной установки)
Если вы используете локальную установку пакета, убедитесь, что в composer.json
вашего основного проекта прописаны правильные настройки автозагрузки и репозитория:
Примечание: Если вы изменили minimum-stability
, убедитесь, что она соответствует вашим требованиям.
Использование
После настройки компонент автоматически начнёт генерировать Request ID для каждого запроса и консольной команды. Вы можете получить доступ к текущему Request ID через сервис RequestIdService
.
Доступ к Request ID
Получение Request ID в консольных командах
При выполнении консольных команд Request ID будет автоматически сгенерирован и выведен в консоль, а также записан в логи.
Примеры
Веб-приложение
При каждом HTTP-запросе:
- Компонент проверяет наличие заголовка
X-Request-ID
. - Если заголовок отсутствует, генерируется новый Request ID.
- Request ID сохраняется в
Yii::$app->params['request_id']
. - В ответ добавляется заголовок
X-Request-ID
с текущим Request ID. - В логах записываются входящий запрос и его Request ID.
Консольная команда
При запуске команды:
- Генерируется новый Request ID.
- Request ID выводится в консоль и сохраняется в
Yii::$app->params['request_id']
. - В логах фиксируется начало и завершение выполнения команды с соответствующим Request ID.
Пользовательские генераторы Request ID
Вы можете использовать собственные генераторы Request ID, реализовав интерфейс RequestIdGenerator
.
Шаг 1: Создайте класс генератора
Шаг 2: Зарегистрируйте генератор в контейнере
В конфигурационном файле (main.php
) замените стандартный генератор на ваш собственный:
Требования
- PHP: >= 7.4
- Yii2: >= 2.0.45
Лицензия
Этот проект распространяется под лицензией BSD-3-Clause.
Авторы
- Khovanskiy — khovanskiy
Поддержка
Если у вас возникли вопросы или вы хотите предложить улучшения, пожалуйста, создайте issue на GitHub: https://github.com/khovanskiy5/Yii2-Request-Id/issues
Спасибо за использование Yii2 Request ID! Надеемся, что этот компонент поможет вам в улучшении трассировки и логирования ваших приложений на Yii2.
All versions of yii2-request-id with dependencies
yiisoft/yii2-bootstrap5 Version ~2.0.2
yidas/yii2-bower-asset Version ^2.0