PHP $this,self,static 的区别
2021/6/6 12:24:51
本文主要是介绍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 的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28怎么把PHP程序打包?-icode9专业技术文章分享
- 2024-09-28怎么用Phar打包PHP程序?-icode9专业技术文章分享
- 2024-09-13手动在github上下载的mfpt包,怎么放到thinkphp5.0框架并正常使用-icode9专业技术文章分享
- 2024-09-05python的<class 'bytearray'>相当于php的哪个数据类型-icode9专业技术文章分享
- 2024-09-05php 导出银行卡号避免科学技术法的方法-icode9专业技术文章分享
- 2024-08-30什么样的php代码质量差被称为垃圾代码-icode9专业技术文章分享
- 2024-08-30用 PHP 调用拼多多的接口以获取订单状态消息的步骤方法和代码示例-icode9专业技术文章分享
- 2024-08-27phpunit单元测试框架的入门和使用方法介绍-icode9专业技术文章分享
- 2024-08-24PHP 中date("w") 周一是多少-icode9专业技术文章分享
- 2024-08-14thinkphp8.0获取域名或主机名方法-icode9专业技术文章分享