面向对象 串行化对象 魔术方法
来源:互联网 发布:porter robinson知乎 编辑:程序博客网 时间:2024/06/06 02:39
什么时候使用串行化?在网络中传输对象的时候
向数据库中保存文件的时候
<?phpheader("Content-Type: text/html; charset=utf-8");$arr = array('name'=>'娜美','age'=>18,'sex'=>'女');/* 串行化 *可以串行化数组/对象 * 串行化对象时只是串行化了成员属性 * * 反串行化 * 可以把串行化的结果进行反串行化操作 */$str = serialize($arr); /*串行化*/echo '<pre>';var_dump($str);$str2 = unserialize($str); /*反串行化*/echo '<pre>';var_dump($str2);?>
串行化高级应用
<?phpclass seri{public $name;public $age;public $sex;public function __construct($name,$age,$sex){$this -> name = $name;$this -> age = $age;$this ->sex = $sex;}public function __sleep(){return array('name','sex');}}$seri = new seri('娜美',20,'女');$str = serialize($seri);/* 在本目录创建data.text 并把字符串写入到文本内*/$handle = fopen('./data.txt', 'w+');fwrite($handle, $str);fclose($handle);?>
本地同级目录生成 data.txt 文件内容
O:4:"seri":2:{s:4:"name";s:6:"娜美";s:3:"sex";s:3:"女";}反串行高级应用
<?php//class.demo.phpclass seri{public $name;public $age;public $sex;public function __construct($name,$age,$sex){$this -> name = $name;$this -> age = $age;$this ->sex = $sex;}/* * 魔术方法 * __sleep 在串行化对象时自动调用 */public function __sleep(){/* 返回一个数组,数组的值就是要串行化的成员属性名 */return array('name','sex');}/* * 魔术方法 * __wakeup 在反串行化对象被自动调用 */public function __wakeup(){/* 可以把发生改变的成员属性,进行重新赋值操作 */$this -> name = $this -> name."123";}}?>
<?phpheader("Content-Type: text/html; charset=utf-8");include('./class.demo.php');$str = file_get_contents('./data.txt');$d = unserialize($str);echo '<pre>';var_dump($d);echo $d->name;?>
阅读全文
0 0
- 面向对象 串行化对象 魔术方法
- 魔术方法、对象串行化
- 面向对象--魔术方法
- 面向对象中的魔术方法
- php面向对象魔术方法
- PHP面向对象-----魔术方法
- 面向对象 __set 魔术方法
- 面向对象 __get 魔术方法
- 面向对象 __isset 魔术方法
- 面向对象 __unset 魔术方法
- 【php面向对象】把对象串行化serialize()方法
- PHP面向对象中的魔术方法
- PHP面向对象魔术方法复习
- Php面向对象魔术方法总结
- PHP中的面向对象魔术方法大全
- PHP之面向对象的魔术方法
- php面向对象笔记5 魔术方法
- 面向对象opp(关键字和魔术方法)
- 数组演练——合并数组
- vim配置
- Redis常用命令(3)Hash类型
- apply()与call()的区别
- 扩展oracle VM VirtualBox硬盘容量
- 面向对象 串行化对象 魔术方法
- Maven -- 将引用的本地jar文件打进war包里
- ssh端口转发
- 51 mod P1627 瞬间移动 排列组合
- fastclick.js解决移动端(ipad)点击事件反应慢问题
- cordova震动蜂鸣器输入参数
- JavaScript难点系列(六):原型链与继承
- Java设计模式总结——6大设计原则
- 剑指offer——63.滑动窗口的最大值