PHP7 Closure::call()

Closure::call() 方法加入到临时绑定(bindTo)的对象范围,以简便方式封闭和调用它 它相比绑定到PHP5.6性能更快。

示例 - PHP7之前版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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

示例-PHP7+

1
2
3
4
5
6
7
8
9
10
11
12
<?php
class A {
private $x = 1;
}
// PHP 7+ code, Define
$value = function() {
return $this->x;
};
print($value->call(new A));
?>
这将在浏览器产生以下输出 -
1
联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2024

备案号:京ICP备15003423号-3