值未定义

时间:2014-12-23 22:02:21

标签: email laravel laravel-4

在我的laravel项目中,我尝试使用以下代码发送电子邮件:

    $mailTo = "theemail@hotmail.com";
    $mailToName = "hisname";

    Mail::send('emails.message.showmessage', array( 'name' => $mailToName), function($message)
    {
        $message->to($mailTo, $mailToName)->subject('New message');
    });

但我收到错误:

Undefined variable: mailTo

这怎么可能?我清楚地用Undefined变量设置变量:mailTo,它是否在Mail函数中未设置?

1 个答案:

答案 0 :(得分:2)

要在闭包内使用局部变量(也称为匿名函数),您需要使用use()

Mail::send('emails.message.showmessage', array( 'name' => $mailToName), function($message) use ($mailTo, $mailToName)
{
    $message->to($mailTo, $mailToName)->subject('New message');
});

use中指定的所有变量都将在闭包内可用,其他所有变量都不会。

相关问题