PHP闭包(Closure)
PHP闭包(Closure)
闭包(Closure)又叫做匿名函数,也就是没有定义名字的函数。
PHP 5.3开始,新开放的闭包语法中, 我们就是用use来使用闭包外部定义的变量的。简单来说就是将作用域外的变量通过use中的参数进行传递到匿名函数中来使用。
例一:匿名函数中的使用
例二:图中是laravel项目中的一段代码,里面涉及到关于闭包的使用
总结:1)闭包函数不能直接访问闭包外的变量,而是通过use 关键字来调用上下文变量(闭包外的变量),也就是说通过use来引用上下文的变量;
2)闭包内所引用的变量不能被外部所访问(即内部对变量的修改,外部不受影响),若想要在闭包内对变量的改变从而影响到上下文变量的值,需要使用&的引用传参。