ReflectionFunction::getClosure

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionFunction::getClosure返回函数的动态创建闭包

描述

public ReflectionFunction::getClosure(): Closure

获取函数的动态创建闭包。

参数

此函数没有参数。

返回值

返回新创建的 Closure

添加注释

用户贡献注释 1 条注释

9
php dot net-bug at spamhereplease dot com
10 年前
如果你有一个将被频繁调用的回调,你可以使用此方法(以及与之相关的 ReflectProperty 方法)来获取一个以接近原生速度执行的闭包。

在 ubuntu 上使用 php 5.4.22 进行的一些基准测试比较

[函数调用] [时间] [% 较慢]
function(): 0.09527 0%
Reflection::Closure: 0.09729 2%
$string(): 0.102641 8%
Reflection: 0.197122 107%
call_user_func: 0.214045 125%

[方法调用] [时间] [% 较慢] [% 与函数相比]
->method(): 0.103611 0% 9%
Reflection::Closure: 0.1043 1% 9%
$string(): 0.109885 6% 15%
Reflection: 0.20451 97% 115%
call_user_func: 0.219205 112% 130%
To Top