2014-12-23 64 views
2

隨着我laravel項目中,我試圖用下面的代碼發送電子郵件:值undefined

$mailTo = "[email protected]"; 
    $mailToName = "hisname"; 

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

但我得到的錯誤:

Undefined variable: mailTo 

這怎麼可能?我清楚地將變量設置爲未定義變量:mailTo,它是否在Mail函數中未設置?

回答

2

要使用本地變量關閉(又名匿名函數)裏,你需要使用use()

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

use指定的所有變量將可在瓶蓋內的所有其他不會。

+0

感謝從來沒有它的頭,我認爲,因爲它被定義的功能範圍之外,它將可用。 –