由于某些原因,我的变量没有传递给我的短信功能?
public function visitor_signin(Request $request)
{
$data = $request->first_name;
$mobile = $request->mobile;
SMS::send('text::invite', ['data' => $data], function($sms) {
$sms->to($mobile);
});
}
我收到错误:未定义的变量:mobile
答案 0 :(得分:1)
函数中的scope变量是函数体。您作为回调方法$mobile
传递的匿名函数中没有名为SMS::send()
的变量或参数。
您可以使用use
语言构造使匿名函数了解$mobile
变量(在不同范围内定义):
public function visitor_signin(Request $request)
{
$data = $request->first_name;
$mobile = $request->mobile;
SMS::send(
'text::invite',
['data' => $data],
function($sms) use ($mobile) {
$sms->to($mobile);
}
);
}
答案 1 :(得分:0)
只需将变量传递到您的匿名函数中,如下所示:
public function visitor_signin(Request $request)
{
$data = $request->first_name;
$mobile = $request->mobile;
SMS::send('text::invite', ['data' => $data], function($sms) use($mobile) {
$sms->to($mobile);
});
}