【问题标题】:Passing parameters when writing a callback function in php (Laravel 5)在php中编写回调函数时传递参数(Laravel 5)
【发布时间】:2015-10-23 10:47:43
【问题描述】:

我正在使用 Laravel 5 进行 php 编程。我有这段代码。

    $newUser = $this->create($request->all());
    $newUser->save();

    $newAccount = new Account(['user_id' => $newUser->getAttribute('id')]);
    $newAccount->save();

    Mail::send('emails.welcome', ['username' => $newUser->name, 'active_token' => $newUser->active_token], function($message)
    {
        $message->to($newUser->email, $newUser->name)->subject('Welcome');
    });

这里的问题是我不知道如何在回调函数中传递“newUser”变量。由于范围的原因,它不起作用。那么,写回调函数的时候怎么传参数呢?为了在该范围内使用它们?

谢谢

【问题讨论】:

    标签: php parameters callback laravel-5


    【解决方案1】:

    使用 php 匿名函数,您可以使用 use($variable) 包含来自父作用域的变量:

     Mail::send(
        'emails.welcome', 
        ['username' => $newUser->name, 'active_token' => $newUser->active_token],
        function($message) use($newUser)
        {
            $message->to($newUser->email, $newUser->name)->subject('Welcome');
        });
    

    http://php.net/manual/en/functions.anonymous.php#example-195

    【讨论】:

      猜你喜欢
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-27
      • 1970-01-01
      相关资源
      最近更新 更多