脚本宝典收集整理的这篇文章主要介绍了PHP $this,self,static 的区别,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
在PHP中 $this->,self::,static:: 都可以用来调用变量或方法,其中 $this 指向当前对象,用于访问非静态变量和非静态方法(静态变量和方法认为是类的元素);
self和static都是用于访问静态变量和方法,他们区别在于,self 是访问self所在类,而static也叫延迟绑定,访问的是被当前子类的静态变量和方法,请看以下例程:
abstract class A { PRotected $strA = 'this is $strA in class A '; protected static $strB = 'this is static $strB in class A'; public function show_info() { echo "called class::";echo get_called_class();echo PHP_EOL; echo $this->strA;echo PHP_EOL; echo self::$strB;echo PHP_EOL; echo static::$strB;echo PHP_EOL; } } class B extends A { protected static $strB = 'this is static $strB in class B'; public function show_info() { parent::show_info(); } } $objB = new B(); $objB->show_info();
输出:
called class::B this is $strA in class A this is static $strB in class A this is static $strB in class B
以上是脚本宝典为你收集整理的PHP $this,self,static 的区别全部内容,希望文章能够帮你解决PHP $this,self,static 的区别所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。