- PHP 教程
- PHP 简介
- PHP 安装
- PHP 语法
- PHP 变量
- PHP 5 echo 和 print 语句
- PHP EOF(heredoc) 使用说明
- PHP 5 数据类型
- PHP 5 常量
- PHP 字符串变量
- PHP 运算符
- PHP If...Else 语句
- PHP Switch 语句
- PHP 数组
- PHP 数组排序
- PHP 超级全局变量
- PHP 循环 - While 循环
- PHP 循环 - For 循环
- PHP 函数
- PHP 图像处理
- PHP RESTful
- PHP 魔术变量
- PHP 命名空间(namespace)
- PHP 面向对象
- PHP 表单
- PHP 高级教程
- PHP 7 新特性
- PHP 数据库
- PHP XML
- PHP 与 AJAX
- PHP 参考手册
PHP Closure::call()
PHP 7 的 Closure::call() 有着更好的性能,将一个闭包函数动态绑定到一个新的对象实例并调用执行该函数。
实例
实例
<?php
class A {
private $x = 1;
}
// PHP 7 之前版本定义闭包函数代码
$getXCB = function() {
return $this->x;
};
// 闭包函数绑定到类 A 上
$getX = $getXCB->bindTo(new A, 'A');
echo $getX();
print(PHP_EOL);
// PHP 7+ 代码
$getX = function() {
return $this->x;
};
echo $getX->call(new A);
?>
class A {
private $x = 1;
}
// PHP 7 之前版本定义闭包函数代码
$getXCB = function() {
return $this->x;
};
// 闭包函数绑定到类 A 上
$getX = $getXCB->bindTo(new A, 'A');
echo $getX();
print(PHP_EOL);
// PHP 7+ 代码
$getX = function() {
return $this->x;
};
echo $getX->call(new A);
?>
以上程序执行输出结果为:
1 1
上一篇:PHP 匿名类