<?php class S { public static function t() { echo func_get_arg(0); } } class C { public static function d() { echo get_called_class(); S::t(get_called_class()); echo get_called_class(); } } C::d();
<?php $a = $b + C::d('e')->f($g);
<?php while ($a && ($b = C::d($e))) { $f++; }
<?php if (!defined('A')) { exit('B'); } C::d('e'); class f { protected static $g; }
<?php $a = $b - C::d('e')->f($g);
<?php $a = $b >> C::d('e')->f($g);
<?php $a = $b / C::d('e')->f($g); $a = $b % C::d('e')->f($g);
<?php trait A { public function b() { return function () { return array(__CLASS__, get_class($this)); }; } } class C { use A; public function d() { return function () { return array(__CLASS__, get_class($this)); }; } } $c = new C(); $b = $c->b(); var_dump($b()); $d = $c->d(); var_dump($d());