---eonx_docs--- title: Introduction weight: 0 ---eonx_docs---
Microservices infrastructures are common, one request can involve N different applications sending requests to each other, and it can be hard to link events occurring across them. This package objective is to create a standard way in PHP projects to resolve/share IDs across projects so linking requests becomes easier!
It is based on 2 different IDs:
- request_id: ID of request specific to each project
- correlation_id: shared ID across projects for the same initial request
On the top of resolving those IDs for you, this package also comes with integrations to different packages to automatically include those IDs in your:
- bugsnag notifications: using EasyBugsnag
- error responses: using EasyErrorHandler
- logs: using EasyLogging
- webhooks: using EasyWebhook
This package has dependencies on the following packages, please see their documentation directly:
The recommended way to install this package is to use Composer:
$ composer require eonx-com/easy-request-id
This package is based on a single service providing the requestId and correlationId anywhere you need them:
// src/Controller/MyController.php
namespace App\Controller;
use EonX\EasyRequestId\Common\Provider\RequestIdProviderInterface;
final class MyController
{
public function __construct(private RequestIdProviderInterface $requestIdProvider)
{
}
public function __invoke()
{
$requestId = $this->requestIdProvider->getRequestId();
$correlationId = $this->requestIdProvider->getCorrelationId();
// Use the IDs in your logic...
}
}