laravel:无法将参数传递给特征
laravel : Not able to pass parameters to trait
我在MailTrait.php中创建了一个trait,下面是我的代码
namespace App\Traits;
use Mail;
trait MailTrait
{
public function fn_send_mail($arr_recepients, $str_subject, $str_content)
{
Mail::send('mail.mailsample', ['content' => $str_content], function($message)
{
$message->to($arr_recepients);
$message->from('abc.org', 'abc');
$message->subject($str_subject);
});
if(Mail:: failures())
return false;
else
return true;
}
}
从我的控制器调用函数 fn_send_mail() 并传递参数如下
$status = $this->fn_send_mail(['123.gmail.com'],'hai', 'hai');
我收到这个错误
ErrorException in MailTrait.php line 14: Undefined variable: arr_recepients
请帮助我!!
您应该将 $arr_recepients
传递给回调块
Mail::send('mail.mailsample', ['content' => $str_content], function($message) use ($arr_recepients, $str_subject)
{
$message->to($arr_recepients);
$message->from('abc.org', 'abc');
$message->subject($str_subject);
});
Mail::send
的第三个参数是一个闭包,它没有 $arr_recepients
范围,也没有主题。你需要使用use
。试试这个
Mail::send('mail.mailsample', ['content' => $str_content], function($message) use ($arr_recepients, $str_subject)
{ //...
我在MailTrait.php中创建了一个trait,下面是我的代码
namespace App\Traits;
use Mail;
trait MailTrait
{
public function fn_send_mail($arr_recepients, $str_subject, $str_content)
{
Mail::send('mail.mailsample', ['content' => $str_content], function($message)
{
$message->to($arr_recepients);
$message->from('abc.org', 'abc');
$message->subject($str_subject);
});
if(Mail:: failures())
return false;
else
return true;
}
}
从我的控制器调用函数 fn_send_mail() 并传递参数如下
$status = $this->fn_send_mail(['123.gmail.com'],'hai', 'hai');
我收到这个错误
ErrorException in MailTrait.php line 14: Undefined variable: arr_recepients
请帮助我!!
您应该将 $arr_recepients
传递给回调块
Mail::send('mail.mailsample', ['content' => $str_content], function($message) use ($arr_recepients, $str_subject)
{
$message->to($arr_recepients);
$message->from('abc.org', 'abc');
$message->subject($str_subject);
});
Mail::send
的第三个参数是一个闭包,它没有 $arr_recepients
范围,也没有主题。你需要使用use
。试试这个
Mail::send('mail.mailsample', ['content' => $str_content], function($message) use ($arr_recepients, $str_subject)
{ //...