php - Laravel/PHP 错误:未定义变量:email2
问题描述
我试图发送一封电子邮件,当我想写目的地的电子邮件地址(电子邮件是函数的参数)时,我遇到了这个错误。有人能帮我吗。
这是我的功能:
public function email($name, $email2) {
$data = array('name'=> $name);
Mail::send('mail',$data,function($message) {
$message->to($email2, $name)->subject('Deposit Confirmation');
$message->attach(public_path('document.pdf'));
$message->from('xxx@xxx.pt', 'XXX');
});
}
这是我的错误:“未定义的变量 email2”
谢谢你
解决方案
当您使用匿名函数传递变量时,您应该使用use
构造
public function email($name, $email2) {
$data = array('name'=> $name);
Mail::send('mail',$data,function($message) use ($name, $email2) {
$message->to($email2, $name)->subject('Deposit Confirmation');
$message->attach(public_path('document.pdf'));
$message->from('xxx@xxx.pt', 'XXX');
});
}
在这里你可以找到更多关于匿名函数的例子https://www.php.net/manual/en/functions.anonymous.php
这里来自官方文档的简单示例
$message = "hello";
// Inherit $message
$example = function () use ($message) {
var_dump($message);
};
$example();
// Output: string(5) "hello"
推荐阅读
- python-3.x - 张量流推理期间的内存溢出
- popup - 可拖动的传单弹出窗口
- powershell - 如何在 AWS Lambda 中使用 Route53 域命令行开关?
- java - Apache FOP ValidationException:在“fo:inline”上遇到无效属性:font-variant-ligatures
- android - 如何从相机返回图片
- php - 我应该为 mysql blob 使用哪种 PDO 参数数据类型?
- ios - IOS13导航栏的问题-背景颜色故事板
- javascript - 如何在点击时更改头部样式?
- google-cloud-platform - 将实例组与负载均衡器分离是否会使现有连接断开?
- unit-testing - Azure DevOps 服务器:为什么 Visual Studio 测试步骤需要这么长时间才能运行单元测试?