使用带有外部变量的 PHP 闭包
当使用 Laravel 的高级 where 子句时,有必要将外部变量传递到闭包函数中。默认语法涉及创建一个新属性并通过 $this 访问它。不过,use 关键字提供了更方便的解决方案。
通过使用 use,你可以在闭包的作用域内声明你需要的变量。例如:
DB::table('users')->where(function ($query) use ($activated) { $query->where('activated', '=', $activated); })->get();
这种方法允许您直接引用闭包内的 $activated 变量。
PHP 7.4 的增强语法
在 PHP 7.4 中,箭头函数提供了匿名函数的简洁替代方案。这是使用箭头函数的示例:
DB::table('users')->where(fn($query) => $query->where('activated', '=', $activated))->get();
但是,请记住箭头函数与常规函数略有不同:
以上是使用 Laravel 的 where 子句时如何访问 PHP 闭包中的外部变量?的详细内容。更多信息请关注PHP中文网其他相关文章!