Closure::call

(PHP 7, PHP 8)

Closure::callクロージャを束縛して呼び出す

説明

public Closure::call ( object $newthis , mixed ...$values ) : mixed

クロージャを一時的に newthis に束縛し、 指定したパラメータでそれを呼び出します。

パラメータ

newthis

この呼び出しの間だけクロージャを束縛するオブジェクト。

values

クロージャに渡すパラメータがある場合は、ここで指定します。

返り値

クロージャの戻り値を返します。

例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($three4);
$closure->call($four4);
?>

上の例の出力は以下となります。

int(7)
int(8)