首页 >社区问答列表 >不太理解闭包查询里"自动全局实例化"的$query变量

不太理解闭包查询里"自动全局实例化"的$query变量

闭包里为什么不用依赖注入呢?如

function(\think\db\Query $q) {

$q->where('sex', 0)->where('salary', '>', '8000');

}

tp5.1,我这样也能执行成功的。


  • 亚连
  • 亚连     2018-06-08 09:42:19 1楼

    你这是一个匿名函数,不是闭包

    +1 添加回复

  • 回复

    php手册,匿名函数的定义, 第一句,“Anonymous functions, also known as closures,(匿名函数,也叫闭包。)” 手册地址:http://php.net/manual/en/functions.anonymous.php 我知道js里闭包的定义是“有权访问另一个函数作用域中的变量的函数",但在php中闭包好像和匿名函数是一回事。

    土豆   作者 · 2018-06-08 13:22:45
    回复

    理论上讲闭包和匿名是不同的概念,但是PHP好像把他们合在一起了,匿名就是闭包,闭包就是匿名。你可以看看这篇文章http://www.php.cn/php-weizijiaocheng-401974.html

    亚连 · 2018-06-08 15:36:17
    回复