Php7-closure-call
提供:Dev Guides
PHP 7-Closure :: call()
- Closure :: call()メソッドは、オブジェクトスコープを一時的にクロージャーにバインドして呼び出す簡易的な方法として追加されます。 PHP 5.6の *bindTo と比較して、パフォーマンスがはるかに高速です。
例-PHP 7以前
<?php
class A {
private $x = 1;
}
//Define a closure Pre PHP 7 code
$getValue = function() {
return $this->x;
};
//Bind a clousure
$value = $getValue->bindTo(new A, 'A');
print($value());
?>
次のブラウザ出力を生成します-
1
例-PHP 7以降
<?php
class A {
private $x = 1;
}
//PHP 7+ code, Define
$value = function() {
return $this->x;
};
print($value->call(new A));
?>
次のブラウザ出力を生成します-
1