如何判断PHP中是否静态调用函数?

GSt*_*Sto 2 php oop

可能重复:
如何判断我是静态还是对象?

假设我有FooClass一个bar()方法.在bar()方法的内部,有没有办法告诉它是否静态调用,所以我可以区别对待这两种情况?

FooClass::bar();
$baz = new FooClass();
$baz->bar();
Run Code Online (Sandbox Code Playgroud)

Gal*_*len 7

class FooClass {

    function bar() {
        if ( isset( $this ) && get_class($this) == __CLASS__ ) {
            echo "not static";
        }
        else {
            echo "static";
        }
    }

}

FooClass::bar();
$baz = new FooClass();
$baz->bar();
Run Code Online (Sandbox Code Playgroud)