函数名称:Closure::__construct()
适用版本:需要PHP版本5.3.0及以上
函数描述:Closure类的构造函数是一个匿名函数的创建器,用于创建一个闭包实例。
用法:
$closure = new Closure($thisArg, $signature);
参数:
- $thisArg(可选):一个可选的闭包中的$this对象,用于在闭包中访问该对象的属性和方法。
- $signature(可选):一个用于指定闭包的参数个数和类型的字符串。可以是不限定参数的签名('mixed(...)'),也可以是指定参数类型的签名('int($a, string $b)')。
返回值:一个新创建的闭包实例。
示例1:
$closure = new Closure();
$sum = $closure->__invoke(2, 3);
echo $sum; // Output: 5
示例2:
$closure = new Closure(null, 'int($a, string $b)');
$concat = $closure->__invoke(2, 'hello');
echo $concat; // Output: 2hello
在示例1中,我们创建了一个没有$this对象和参数约束的闭包实例,并通过__invoke()方法调用了该闭包,计算了传入的两个参数的和。
在示例2中,我们创建了一个没有$this对象的闭包实例,并指定了参数类型为整数和字符串。然后,通过__invoke()方法调用了该闭包,将两个参数拼接在一起并输出。