在一个在Laravel 5.5中实现ShouldQueue的监听器中获取原始$ request

时间:2017-09-18 08:52:00

标签: laravel events laravel-5

我需要在听众中获取原始Request(特别是Request::server())以了解这些Laravel内部事件:

  • Illuminate\Auth\Events\Login
  • Illuminate\Auth\Events\Failed

可以理解,我不能在我的侦听器中使用值返回值,因为它在队列中单独构建服务器端。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

在侦听器的构造函数中,您可以将请求保存到类的成员,然后您就可以在handle函数中使用它。例如:

class LogSuccessfulLogin implements ShouldQueue
    {
    protected $request;

    /**
     * Create the event listener.
     *
     * @return void
     */
    public function __construct(Request $request)
    {
        $this->request = $request;
    }

    /**
     * Handle the event.
     *
     * @param  Login  $event
     * @return void
     */
    public function handle(Login $event)
    {
        // here you can use $this->request->ip(); for example.
    }
}
相关问题