PHP - 哪个类调用了我的静态方法?

I need to know what kind invokes a static method, without sending as parameter

class foo
{
    public static function test($clase)
    {
        echo "Class invoke:" . FUNCTION();
    }
}

class A { public function x { foo::test(); } }
class B { public function y { foo::test(); } }
class C { public function z { foo::test(); } }

You can use late static bindings and get_called_class() (PHP >= 5.3) if you make all of your classes extend foo, like this:

class foo
{
    public static function test($clase)
    {
        echo "Class invoke:" . get_called_class();
    }
}

class A extends foo { public function x() { self::test(''); } }
class B extends foo { public function y() { self::test(''); } }
class C extends foo { public function z() { self::test(''); } }

With these objects:

$a = new A; $a->x();
$b = new B; $b->y();
$c = new C; $c->z();

You'll get as output:

Class invoke:A
Class invoke:B
Class invoke:C