« Closure::bindTo
Closure::fromCallable »

Closure::call

(PHP 7, PHP 8)

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

説明

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

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

パラメータ

newThis

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

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)
関連キーワード:
クロージャ   Closure   call   束縛   newThis   closure   mixed   args   getValue   three   four   delta   bindTo   fromCallable   一時的   protected   construct   return   dump
関連する関数・ページ:
class.closure   closure.bind   closure.getcurrent   closure.bindto   closure.fromcallable   reflectionfunction.getclosure