如果我理解不够深刻,因为我是 Laravel 的新手,请谅解。当我将闭包函数传递给 Mail::send() 方法来定义邮件的接收方时,如果邮件地址在全局范围内可用,则可以正常工作,像这样:
Mail::send('frontend.emails.default', $data, function($message)
{
$message->to(Input::get('email'))->subject('Hi');
});
但是我怎样能够传递一个值,使它局限于调用方法的范围内呢? 例如:
$user = User::find($id);
Mail::send('frontend.emails.default', $data, function($message)
{
$message->to($user->email)->subject('Hi');
});
我尝试将它添加到$data数组中,但该数组用于视图中,在回调函数中不可用。
谢谢您的帮助。
use ($var)
是什么黑魔法?!哇,感谢Phil!这个看似微不足道的特性/答案让我的一天变得轻松了很多。我会在文档等方面进行一些挖掘,看看use ($var)
在幕后实际上是做什么的。说实话,除了与命名空间相关的use \Namespace\Class
之外,我从未使用过它。再次感谢。 - Erik Aybaruse
的一些信息。 - Phill Sparks