在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
__clone():克隆的时候会调用__clone方法; __cal:当类里面没有方法的时候会调用__call方法; __toString:当echo的时候会调用__toString方法; __autoload:自动加载,当类路径找不到的时候会调用__autoload方法,这个方法很好的解决了需要引用多个include_once的问题; __sleep():当对象被串行化那一瞬间调用这个函数 __wakeup():将对象进行反串行化的时候调用这个函数
Four类 class Four { public $name; public $age; public function __construct($name,$age) { $this->name = $name; $this->age = $age; } //克隆的时候会调用__clone方法 public function __clone() { $this->age = 0; } //当echo的时候会调用__toString方法 public function __toString() { return "调用toString方法"; } //当类里面没有方法的时候会调用__call方法 function __call($name, $arguments) { return "没有{$name}这个方法,不能这么玩"; } public function show(){ echo "我叫{$this->name},今年{$this->age}"; } //当对象被串行化那一瞬间 }
主函数main //当类路径找不到的时候会调用__autoload方法 function __autoload($name){ $path = $name.".class.php"; include_once $path; } $four = new Four("房明",18); $four2 = clone $four; //此时的$four2调用的是__clone方法,所以此时年龄会变为0 $four->show(); echo "<br>"; $four2->show(); echo "<br>"; echo $four; //$four是一个对象,随意此时调用__toString方法 echo "<br>"; echo $four->score(); //$four里面没有score方法,所以会调用__call方法 //将对象进行串行化
|
2022-07-18
2022-08-17
2022-11-06
2022-07-29
2022-08-18
请发表评论