Php 控制器中的变量然后是函数

Php 控制器中的变量然后是函数,php,Php,出于某种原因,我的变量没有传递到SMS函数 public function visitor_signin(Request $request) { $data = $request->first_name; $mobile = $request->mobile; SMS::send('text::invite', ['data' => $data], function($sms) { $sms->to($mobile); }

出于某种原因,我的变量没有传递到SMS函数

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

函数中的变量是函数体。在作为回调传递给方法
SMS::send()
的匿名函数中,没有名为
$mobile
的变量或参数

您可以使用语言构造使匿名函数了解
$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);
    });

}
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);
    });

}