$james = new 对象;此时对象引用数为1
$james = null 是解除对对象的引用,此时该对象的引用数是0
当对象引用数为0时,PHP垃圾回收机制会回收对象的资源.(PHP垃圾回收机制是引用计数的)
此时就会调用该对象的析构函数
$james = null 是解除对对象的引用,此时该对象的引用数是0
当对象引用数为0时,PHP垃圾回收机制会回收对象的资源.(PHP垃圾回收机制是引用计数的)
此时就会调用该对象的析构函数
2016-09-14
clone 创建的对象和原对象比较时,不进行属性匹配,直接返回true
new 创建的对象和原对象比较时,对属性逐一匹配,完全相同返回true
new 创建的对象和原对象比较时,对属性逐一匹配,完全相同返回true
2016-09-09
public function __get($name) { return $this->$name; }
public function __set($name, $value){$this->$name = $value;}
public function __set($name, $value){$this->$name = $value;}
2016-09-09
简单来说,调用父类方法使用 parent::func();,调用静态方法或属性使用 static::$var;如果访问父类静态方法,则任选其中一种方式,其他情况都可以使用 $this->func() 或 $this->var 进行方法和属性的调用。self 相比 this 只是能够访问静态属性,但是static也可以访问静态属性,self的意义就不大了。
this = 属性[动] + 方法[静/动]; self = 属性[动] + 方法[静/动]; static = 属性[静] + 方法[静]; parent = 父属性[静] + 父方法[静/动]
this = 属性[动] + 方法[静/动]; self = 属性[动] + 方法[静/动]; static = 属性[静] + 方法[静]; parent = 父属性[静] + 父方法[静/动]
2016-09-08