> 文章列表 > closure php

closure php

closure php

什么是.Closure PHP.

PHP是一种开源的,服务器端脚本语言以创建web应用程序。建立在PHP之上的一个重要概念是其闭包(Closures)特性,这是一个在PHP5.3中引入的新特性。Closure可以理解为一种代码块,可以与外部变量形成一个整体,形成一个独立的作用域。简单的说,closure就是一个用起来像函数的变量。

Closure PHP的用处

闭包创建可以在运行时定义的函数,这种函数不需要在程序中事先预定义,这意味着它可以与调用它们的上下文共享一些本地变量。闭包是解决PHP类中访问私有和受保护成员的途径之一,通过把一个作用域中的变量绑定到另外一个作用域中,可以在两个作用域之间共享变量,从而实现在父作用域中访问内部类成员的目的。

Closure的基础语法

闭包的基本语法如下:

    $closure = function ($args) {       //code body    };

使用此语法创建一个匿名函数。在这里可以使用任何变量名。 然后可以将此变量传递到其他函数中,就像将函数名称传递给其他函数一样。要执行闭包,在创建它时使用一个变量保存它,然后调用该变量中的闭包函数。

Closure的例子

以下是一个闭包的简单例子,它将其创建时的参数与调用时的参数相乘。

    $multiplyWith = function ($number) {        return function ($multiplyBy) use ($number) {            return $multiplyBy * $number;        };    };    $result = $multiplyWith(10);    echo $result(2); // 20

Closure的注意事项

闭包是PHP 5.3引入的新特性。 因此,在使用闭包时,必须注意PHP版本。闭包在使用外部变量时需要使用"use"语句,将外部变量绑定到内部变量。 除非有必要,否则一般不建议使用全局变量。闭包可以存储在一个数组,对象甚至类属性中。