在
PHP中,可以调用静态方法,就好像它们是实例方法一样:
class A { public static function b() { echo "foo"; } } $a = new A; A::b(); //foo $a->b(); //foo
我尝试了isset($this),但在两种情况下都返回false,而debug_backtrace()似乎表明这两个调用实际上都是静态调用
array(1) { [0]=> array(6) { ["file"]=> string(57) "test.PHP" ["line"]=> int(23) ["function"]=> string(1) "b" ["class"]=> string(1) "A" ["type"]=> string(2) "::" ["args"]=> array(0) { } } } Foo array(1) { [0]=> array(6) { ["file"]=> string(57) "test.PHP" ["line"]=> int(24) ["function"]=> string(1) "b" ["class"]=> string(1) "A" ["type"]=> string(2) "::" ["args"]=> array(0) { } } }