可能重复:
如何判断我是静态还是对象?
假设我有FooClass一个bar()方法.在bar()方法的内部,有没有办法告诉它是否静态调用,所以我可以区别对待这两种情况?
FooClass::bar();
$baz = new FooClass();
$baz->bar();
Run Code Online (Sandbox Code Playgroud)
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)