Начиная с Laravel 11+, фреймворк представил мощную функцию —
Context, позволяющую хранить временные данные в рамках одного запроса, задания или консольной команды. А в Laravel 12 она стала ещё лучше — теперь контекст автоматически внедряется в логи, HTTP-запросы, события и исключения.Примеры использования в приложении Laravel:
use Illuminate\Support\Facades\Context;
use Illuminate\Support\Str;
Context::add('trace_id', (string) Str::uuid());
Context::add('app_section', 'checkout');
Context::add('server', gethostname());
Context::add('currency', 'USD');
📄 В контроллерах, логах или событиях:
Log::info('Payment started in section [{app_section}].', [
'user_id' => $user->id,
'amount' => $amount,
]);Http::withHeaders([
'X-Trace-Id' => Context::get('trace_id'),
])->post('https://api.payment.com/charge', [...]);
📌 Думайте о
Context как о «временном хранилище данных», которое может использоваться во всех приложениях и не нужно повсеместно передавать переменные. Это чистый, современный способ отслеживания и управления данными, относящимися к конкретным запросам.#Laravel #Context #tips
Please open Telegram to view this post
VIEW IN TELEGRAM