PHP 8.4.1 Released!

ReflectionFunction::getClosure

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

ReflectionFunction::getClosureReturns a dynamically created closure for the function

说明

public ReflectionFunction::getClosure(): Closure

Get a dynamically created closure for the function.

参数

此函数没有参数。

返回值

Returns the newly created Closure.

添加备注

用户贡献的备注 1 note

up
9
php dot net-bug at spamhereplease dot com
10 years ago
If you have a callback that is going to be invoked often, you can use this method (and the related method for ReflectProperty) to get a closure that will execute at near native speed.

Some benchmark comparisons with php 5.4.22 on ubuntu:

[function call] [time] [%slower]
function(): 0.09527 0%
Reflection::Closure: 0.09729 2%
$string(): 0.102641 8%
Reflection: 0.197122 107%
call_user_func: 0.214045 125%

[method call] [time] [% slower] [%vs func]
->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