🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
序列化:将一个变量代表的内存数转换为字符串形式,并持久保存到硬盘上 反序列化:将序列化后保存的字符串数据,恢复 序列化:形式 $v1=123; $s1=serialize($v1); file\_put\_contents(‘要保存的目标文件’,$s1); 反序列化: 形式 $s1=file\_get\_contents(‘保存的文本’); $v1=unserialize($s1); \_\_sleep():用于对象的序列化,只能将属性保存,方法会忽略,会自动调用这个方法,改方法必须返回一个数组,数组中是计划要进行序列化的属性名,返回的可以改 (要引用文件) \_\_wake up(): 用于对象的序列化 (要引用文件) 序列化的做法: $v1 = 123; //这是一个变量,代表任意的内存数据 $s1 = serialize( $v1 ); //将任何类型的变量数据,转换为“字符串” file\_put\_contents( ‘要保存的目标文本文件’, $s1);//将该字符串,保存到一个文件里(就是硬盘数据) 反序列化的做法: $s1=file\_get\_contents(‘保存序列化的目标文件’);//从一个文件里读出其中的所有字符 $v1 = unserialize( $s1 ); //将该字符串数据,反序列化转换为变量(数据) \_\_sleep():用于对象的序列化 1,对一个对象进行序列化,只能将其属性数据“保存起来”,而方法被忽略(方法不是数据) 2,对象的序列化的时候,会自动调用该对象所属类的这个魔术方法:\_\_sleep()(前提是有该方法)。且,此时,该方法必须返回一个数组,数组中是“计划”要进行序列化的属性名; \_\_wakeup():用于对象的反序列化 1,对一个对象进行反序列化,其实是恢复其原来保存起来的属性数据,而且,此时必然需要依赖该对象原本的所属类; 2,对象在反序列化的时候,会自动调用该对象所属类的这个魔术方法:\_\_wakeup()