1.__construct() //构造函数,
2.__destruct()//析构函数,
3.__call() 、__callStatic() //调用一个不可访问的方法、调用不可访问的静态方法时被调用
5.__isset()、__unset()//当对不可访问属性调用 isset() 或 empty() 时,__isset() 会被调用。当对不可访问属性调用 unset() 时,__unset() 会被调用。
6.__toString()//当echo一个对象时调用该方法
7.__clone()//复制一个对象时调用
2.__destruct()//析构函数,
3.__call() 、__callStatic() //调用一个不可访问的方法、调用不可访问的静态方法时被调用
class demo1 {
public function __call($name, $arguments) { echo '你调用了不存在或不可访问的方法$name'.' '.implode(', ', $arguments); } /*php version 5.3.0 之后才可以*/
public static function __callStatic($name, $arguments) { echo '你调用了不存在或不可访问的静态方法$name'.' '.implode(', ', $arguments); }
}
$aa = new demo1();
$aa->runTest('haha'); //你调用了不存在或不可访问的方法runTest haha
demo1::yrt(haha); //php version 5.3.0 之后才可以 //你调用了不存在或不可访问的静态方法runTest haha
4.__get()、__set() //在给不可访问属性赋值时,__set() 会被调用。读取不可访问属性的值时,__get()会被调用。
5.__isset()、__unset()//当对不可访问属性调用 isset() 或 empty() 时,__isset() 会被调用。当对不可访问属性调用 unset() 时,__unset() 会被调用。
6.__toString()//当echo一个对象时调用该方法
7.__clone()//复制一个对象时调用
class person {
private $name;
private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; }
public function say() { echo '我的名字叫: '.$this->name; echo '我的年龄是: '.$this->age.'<br>'; }
public function __clone() { $this->name = '我是假的'.$this->name; $this->age = '我的年龄不是'.$this->age;}
}
$person1 = new demo1('燕睿涛', 21);
$person1->say(); //我的名字叫: 燕睿涛我的年龄是: 21
$person2 = clone $person1;
$person2->say(); //我的名字叫: 我是假的燕睿涛我的年龄是: 我的年龄不是21
欢迎交流,我是luluyrt@163.com