Closure::call

(PHP 7, PHP 8)

Closure::call绑定并调用闭包

说明

public function Closure::call(object $newThis, mixed ...$args): mixed

暂时将闭包绑定到 newThis,并使用任意给定的参数调用它。

参数

newThis

在调用期间将闭包绑定到 object

args

零个或多个参数,他们将作为参数传递给闭包。

返回值

返回闭包的返回值。

示例

示例 #1 Closure::call() 示例

<?php
class Value {
    protected $value;
    public function __construct($value) {
        $this->value = $value;
    }
    public function getValue() {
        return $this->value;
    }
}
$three = new Value(3);
$four = new Value(4);
$closure = function ($delta) { var_dump($this->getValue() + $delta); };
$closure->call($three, 4);
$closure->call($four, 4);
?>

以上示例会输出:

int(7)
int(8)