Laravel 队列中怎么取到 header 内的值
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
class TestHeaderJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public function __construct()
{
//
}
public function handle()
{
$platform = request()->header('platform');
\Log::info("header内platform的值:{$platform}");
dump($platform);
}
}
php artisan queue:work redis
我需要在队列中取到header内的值,我尝试直接取,因为不在同一生命周期内,所以取不到。如果在类上传参,如果层级太长,header就必须一路传下去,写的时候就会很头疼,有没有大神遇到过这种问题,是怎么解决的
dispatch
的时候把Request
类的对象传进去,这样在Jobs
类的构造函数就能够获取该对象,然后在Jobs
类中像这样用: