- $this是当前对象的指针,self是当前类的指针
- $this只能用在成员方法中,不能存在于静态方法
- self 静态方法和成员方法中都能使用
- self可以访问类常量,静态属性,静态方法,成员方法----也就是访问类的东西
- self还有一个用途:在操作类有关的属性,方法时,如果用类名::属性和方法,那么类名一变,那就哭去吧,所以最稳妥的方法是用self::属性,方法
<?php class mycoach { public $name="陈培昌"; CONST hisage =22; public static $earnfor =2789; public static $address = "北京市朝阳区三里屯soho北武堂"; private $favorite = "喜欢丁大锅"; public function __construct() { echo "{$this->name}到目前为止,为馆里卖出的装备价值".mycoach::$earnfor."元".PHP_EOL; } public static function workingaddr() { echo self::$address.PHP_EOL; } } $cpc = new mycoach(); $cpc->workingaddr(); ?>
运行结果:
陈培昌到目前为止,为馆里卖出的装备价值2789元
北京市朝阳区三里屯soho北武堂