脚本宝典收集整理的这篇文章主要介绍了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) { } } }
以上是脚本宝典为你收集整理的php – 确定静态方法是静态调用还是作为实例方法调用全部内容,希望文章能够帮你解决php – 确定静态方法是静态调用还是作为实例方法调用所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。