- $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北武堂