3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php if ( ! class_exists('ReflectionClass') || ! class_exists('Closure')) { die('cannot test, no reflection or closure'); } $cls = new ReflectionClass('Closure'); var_dump($cls->getMethods());
based on oI74C
Output for 7.1.0
array(5) { [0]=> object(ReflectionMethod)#2 (2) { ["name"]=> string(11) "__construct" ["class"]=> string(7) "Closure" } [1]=> object(ReflectionMethod)#3 (2) { ["name"]=> string(4) "bind" ["class"]=> string(7) "Closure" } [2]=> object(ReflectionMethod)#4 (2) { ["name"]=> string(6) "bindTo" ["class"]=> string(7) "Closure" } [3]=> object(ReflectionMethod)#5 (2) { ["name"]=> string(4) "call" ["class"]=> string(7) "Closure" } [4]=> object(ReflectionMethod)#6 (2) { ["name"]=> string(12) "fromCallable" ["class"]=> string(7) "Closure" } }
Output for 7.0.0 - 7.0.14
array(4) { [0]=> object(ReflectionMethod)#2 (2) { ["name"]=> string(11) "__construct" ["class"]=> string(7) "Closure" } [1]=> object(ReflectionMethod)#3 (2) { ["name"]=> string(4) "bind" ["class"]=> string(7) "Closure" } [2]=> object(ReflectionMethod)#4 (2) { ["name"]=> string(6) "bindTo" ["class"]=> string(7) "Closure" } [3]=> object(ReflectionMethod)#5 (2) { ["name"]=> string(4) "call" ["class"]=> string(7) "Closure" } }
Output for hhvm-3.12.0
array(9) { [0]=> object(ReflectionMethod)#3 (2) { ["name"]=> string(11) "__construct" ["class"]=> string(7) "Closure" } [1]=> object(ReflectionMethod)#4 (2) { ["name"]=> string(5) "__get" ["class"]=> string(7) "Closure" } [2]=> object(ReflectionMethod)#5 (2) { ["name"]=> string(5) "__set" ["class"]=> string(7) "Closure" } [3]=> object(ReflectionMethod)#6 (2) { ["name"]=> string(7) "__isset" ["class"]=> string(7) "Closure" } [4]=> object(ReflectionMethod)#7 (2) { ["name"]=> string(7) "__unset" ["class"]=> string(7) "Closure" } [5]=> object(ReflectionMethod)#8 (2) { ["name"]=> string(11) "__debuginfo" ["class"]=> string(7) "Closure" } [6]=> object(ReflectionMethod)#9 (2) { ["name"]=> string(4) "bind" ["class"]=> string(7) "Closure" } [7]=> object(ReflectionMethod)#10 (2) { ["name"]=> string(6) "bindto" ["class"]=> string(7) "Closure" } [8]=> object(ReflectionMethod)#11 (2) { ["name"]=> string(4) "call" ["class"]=> string(7) "Closure" } }
Output for hhvm-3.10.0
array(8) { [0]=> object(ReflectionMethod)#3 (2) { ["name"]=> string(11) "__construct" ["class"]=> string(7) "Closure" } [1]=> object(ReflectionMethod)#4 (2) { ["name"]=> string(11) "__debuginfo" ["class"]=> string(7) "Closure" } [2]=> object(ReflectionMethod)#5 (2) { ["name"]=> string(5) "__get" ["class"]=> string(7) "Closure" } [3]=> object(ReflectionMethod)#6 (2) { ["name"]=> string(5) "__set" ["class"]=> string(7) "Closure" } [4]=> object(ReflectionMethod)#7 (2) { ["name"]=> string(7) "__isset" ["class"]=> string(7) "Closure" } [5]=> object(ReflectionMethod)#8 (2) { ["name"]=> string(7) "__unset" ["class"]=> string(7) "Closure" } [6]=> object(ReflectionMethod)#9 (2) { ["name"]=> string(4) "bind" ["class"]=> string(7) "Closure" } [7]=> object(ReflectionMethod)#10 (2) { ["name"]=> string(6) "bindto" ["class"]=> string(7) "Closure" } }
Output for 5.4.0 - 5.6.28
array(3) { [0]=> &object(ReflectionMethod)#2 (2) { ["name"]=> string(11) "__construct" ["class"]=> string(7) "Closure" } [1]=> &object(ReflectionMethod)#3 (2) { ["name"]=> string(4) "bind" ["class"]=> string(7) "Closure" } [2]=> &object(ReflectionMethod)#4 (2) { ["name"]=> string(6) "bindTo" ["class"]=> string(7) "Closure" } }
Output for 5.3.0 - 5.3.29
array(1) { [0]=> &object(ReflectionMethod)#2 (2) { ["name"]=> string(11) "__construct" ["class"]=> string(7) "Closure" } }
Output for 4.3.0 - 5.2.17
cannot test, no reflection or closure