PHPでコールバック関数を使用する場合、関数はスコープを所有し、スコープ外から変数にアクセスすることはできません。
$foo = true;
DB::collection('something')->raw(function ($collection) {
echo $foo;// $foo is undefined here, this create an error
});
echo $foo;// here it work
ただし、 PHP use
を使用して、コールバックに変数をフィードできます。 キーワード
:
$foo = true;
DB::collection('something')->raw(function ($collection) use ($foo) {
echo $foo;// now it works
});