将值传递给PHP中的闭包函数

时间:2017-04-20 19:03:10

标签: php laravel function laravel-5

我发送邮件的代码是

    public function handle(UserFollowed $event)
{
    $h = new \Acme\Helpers\functions();
    $email = $h->getUserEmail($event->followed);

    Mail::raw('Hi, welcome user!', function ($message) {
        $message->to($email)
            ->subject("New follower :)");
    });

}

工作得非常好。唯一的问题是我无法在函数$email中使用Mail::raw变量。

你能建议一个解决方案。我很高兴知道这些表达式被称为

P.S。我试过了function ($message, $email)但它不起作用。如果我在to($email)中使用字符串而不是$ email,它的效果非常好。

提前致谢。

2 个答案:

答案 0 :(得分:2)

您可以通过use

将其他参数传递给闭包
Mail::raw('Hi, welcome user!', function ($message) use ($email) {
    $message->to($email)
        ->subject("New follower :)");
});

答案 1 :(得分:1)

您是否尝试使用public function handle(UserFollowed $event) { $h = new \Acme\Helpers\functions(); $email = $h->getUserEmail($event->followed); Mail::raw('Hi, welcome user!', function ($message) use ($email) { $message->to($email) ->subject("New follower :)"); }); }

lsnrctl status