<?php
class test{
public $varr1="abc";
public $varr2="123";
public function echoP(){
echo $this->varr1."<br>";
}
public function __construct(){
echo "__construct<br>";
}
public function __destruct(){
echo "__destruct<br>";
}
public function __toString(){
return "__toString<br>";
}
public function __sleep(){
echo "__sleep<br>";
return array('varr1','varr2');
}
public function __wakeup(){
echo "__wakeup<br>";
}
}
$obj = new test(); //实例化对象,调用__construct()方法,输出__construct
$obj->echoP(); //调用echoP()方法,输出"abc"
echo $obj; //obj对象被当做字符串输出,调用__toString()方法,输出__toString
$s =serialize($obj); //obj对象被序列化,调用__sleep()方法,输出__sleep
echo unserialize($s); //$s首先会被反序列化,会调用__wake()方法,被反序列化出来的对象又被当做字符串,就会调用_toString()方法。
// 脚本结束又会调用__destruct()方法,输出__destruct
?>
<?php
class LogClass {
public $logfilename = "";
public function logdata($text) {
echo "log data".$text."<br/>";
file_put_contents($this->logfilename,$text,FILE_APPEBD);
}
public function __destruct() {
echo 'deletes'.$this->logfilename;
unlink(dirname(__FILE__).'/'.$this->logfilename);
}
}
?>
<?php
include "index.php";
$obj = new LogClass();
$obj->logfilename = "login.log";
$obj->logdata('记录日志');
?>
<?php
include "logfile.php";
// some codes the use the LogClass
class User {
public $age = 0;
public $name = '';
public function print_data() {
echo "User".$this->name."is".$this->age."years old.<br/>";
}
}
// 从用户接受输入发序列化为User对象
$usr = unserialize($_GET["user"]);
?>
news.php?user=O:4:"User":2:{s:3:"age";i:20;s:4:"name";s:4:"John”;}
news.php?user=O:8:"LogClass":1:{s:11:"logfilename";s:9:".htaccess";}
<?php
class FileClass {
public $filename = "error.log";
public function __toString() {
echo "filename发生了变化==>" . $this->filename ;
return @file_get_contents($this->filename);
}
}
class UserClass {
public $age = 0;
public $name = '';
public function __toString() {
return 'User '.$this->name." is ".$this->age.' years old. <br/>';
}
}
$obj = unserialize($_GET['usr']);
echo $obj; //调用obj的__toString()方法
?>
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有