<?php class X { static function g() { } } @X::g(); function g($a, $b) { } function f() { return 3; } @g(f(), f());
<?php class X { static function g() { } } echo 'abc' . X::g() . 'efg';
class X { function f($x) { (yield $x); } static function g($x) { (yield get_called_class()); } } class Y extends X { } $x = new X(); $c = $x->f(32); var_dump($c->getOrigFuncName()); var_dump($c->getCalledClass()); $c = X::g(32); var_dump($c->getOrigFuncName()); var_dump($c->getCalledClass()); $c = Y::g(32); var_dump($c->getOrigFuncName()); var_dump($c->getCalledClass()); $fcn = function ($x) { static $q; (yield $x); }; $c = $fcn(32); var_dump($c->getOrigFuncName()); var_dump($c->getCalledClass());