PHP Conference Nagoya 2025

ReflectionFunction::getClosure

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

ReflectionFunction::getClosureこの関数に動的に作成されたクロージャを返す

説明

public ReflectionFunction::getClosure(): Closure

この関数に動的に作成されたクロージャを取得します。

パラメータ

この関数にはパラメータはありません。

戻り値

新しく作成された Closure を返します。

add a note

User Contributed Notes 1 note

up
9
php dot net-bug at spamhereplease dot com
11 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