public function test() { C1::__invoke(0, 1); D1::__invoke(0, 1); E1::__invoke(0, 1); call_user_func(mk('C1'), 0, 1); call_user_func(mk('D1'), 0, 1); call_user_func(mk('E1'), 0, 1); }
class C2 { function &__invoke(&$a) { return $a; } } class C3 { function __invoke() { } } $x = new C1(); var_dump($x()); var_dump($x->__invoke()); $x(); $x->__invoke(); $x = function () { return 0; }; var_dump($x()); var_dump($x->__invoke()); $x(); $x->__invoke(); $x = new C2(); $a = $b = $c = $d = 1; $e =& $x($a); $e = 2; var_dump($a); $e =& $x->__invoke($b);
public function __invoke($a0) { return $a0 > 10; } } $c = new C1(); $d = new D1(); $e = new E1(); $c(0, 1); $d(0, 1); $e(0, 1); call_user_func($c, 0, 1); call_user_func($d, 0, 1); call_user_func($e, 0, 1); call_user_func_array($c, array(0, 1)); call_user_func_array($d, array(0, 1)); call_user_func_array($e, array(0, 1)); $c->__invoke(0, 1); $d->__invoke(0, 1); $e->__invoke(0, 1); C1::__invoke(0, 1); D1::__invoke(0, 1); E1::__invoke(0, 1); function mk($n) { return $n . '::__invoke'; } call_user_func(mk('C1'), 0, 1); call_user_func(mk('D1'), 0, 1); call_user_func(mk('E1'), 0, 1); var_dump(array_filter(array(0, 1, 11, 13), new F1()));