1.__construct() //构造函数,
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