在 laravel 中的函数内发送变量
Sending variables inside the function in laravel
是否可以获取存储在函数(For Mail)
之外的$string
的值
这里我试过了。
$string = str_random(5);
Mail::send([], [], function($message,$string)
{
$user = MailTemplate::find(1);
$mail_body = $user->MailContent;
$mail_body = str_replace("{password}", $string, $mail_body);
$message->setBody($mail_body, 'text/html');
$message->to(Session::get('sess_mail'));
$message->subject('Password Details - Ma$na Taxi');
});
但是显示错误
Missing argument 2 for LoginController::{closure}()
如何在邮件函数中传递 $string 的值,例如
Mail::send([], [], function($message,$string)
所以它应该可以在 $mail_body = str_replace("{password}", $string, $mail_body);
访问
您对静态方法的调用 Mail::send()
需要与此处指定的签名匹配 - http://laravel.com/docs/4.2/mail#basic-usage
$string = str_random(5);
Mail::send('name-of-view-used-for-email',
array('foo' => $string), function($message) use ($string)
{
$user = MailTemplate::find(1);
$mail_body = $user->MailContent;
$mail_body = str_replace("{password}", $string, $mail_body);
$message->setBody($mail_body, 'text/html');
$message->to(Session::get('sess_mail'));
$message->subject('Password Details - Ma$na Taxi');
});
How can i pass the value of $string inside the mail function like so
it should be accessible at $mail_body = str_replace("{password}",
$string, $mail_body);
你有一个范围问题 - 为了通过 $string 你需要在你的函数调用之前使用 use ($string)
。
正如我在更新的代码中所示。
是否可以获取存储在函数(For Mail)
之外的$string
的值
这里我试过了。
$string = str_random(5);
Mail::send([], [], function($message,$string)
{
$user = MailTemplate::find(1);
$mail_body = $user->MailContent;
$mail_body = str_replace("{password}", $string, $mail_body);
$message->setBody($mail_body, 'text/html');
$message->to(Session::get('sess_mail'));
$message->subject('Password Details - Ma$na Taxi');
});
但是显示错误
Missing argument 2 for LoginController::{closure}()
如何在邮件函数中传递 $string 的值,例如
Mail::send([], [], function($message,$string)
所以它应该可以在 $mail_body = str_replace("{password}", $string, $mail_body);
您对静态方法的调用 Mail::send()
需要与此处指定的签名匹配 - http://laravel.com/docs/4.2/mail#basic-usage
$string = str_random(5);
Mail::send('name-of-view-used-for-email',
array('foo' => $string), function($message) use ($string)
{
$user = MailTemplate::find(1);
$mail_body = $user->MailContent;
$mail_body = str_replace("{password}", $string, $mail_body);
$message->setBody($mail_body, 'text/html');
$message->to(Session::get('sess_mail'));
$message->subject('Password Details - Ma$na Taxi');
});
How can i pass the value of $string inside the mail function like so it should be accessible at $mail_body = str_replace("{password}", $string, $mail_body);
你有一个范围问题 - 为了通过 $string 你需要在你的函数调用之前使用 use ($string)
。
正如我在更新的代码中所示。