一、数据(变量)序列化/反序列化
什么叫序列化:
就是将一个变量的数据“转换为”字符串——但并不是类型转换。其目的(意图)是将该字符串“存储起来”(比如存为文本文件)然后在其他时间(或其他运行环境/电脑)上,将其又恢复原样。
比如:很多有些设计中,都有一个功能:保留场景及当前所有装备,武器,服装。。。。 则也就是对应了有“反序列化”工作
序列化的做法非常简单:
1、$str = serialize($变量); //此时该变量的数据就变成了字符串,并存入变量$str1;
但通常的应用出,此时就应该将其保存为文件(或数据库),如下:
2、file_put_contents(“文本文件路径”, $str);
反序列化操作也同样简单:
1、$str = file_get_contents(“文本文件路径”); //先从文本文件中取得内容
2、$v1 = unserialize( $str); //反序列化,此时$v1这个变量中存储的就是原来变量内容(和类型)
举例:
然后在另一个文件中进行反序列化操作:
二、一些有关类和对象的系统函数和运算符
class_exists(), :判断某个类是否存在(定义过)
interface_exists(), :判断接口是否存在
get_class():获取某个对象的“所属类名”
get_parent_class(), :获取某个对象的“所属父类的类名”
get_class_methods(), :获取一个类的所有方法,返回一个索引数组,就是这些方法的名字。
get_class_vars(), :获取一个类的所有属性,返回一个数组,下标为属性名,值为属性值。
get_declared_classes():获得所有声明过的类(含系统中的类)
is_object():判断是否对象
get_object_vars():获得对象的所有属性,返回一个数组,下标为属性名,值为属性值
运算符:
new:
instanceof: 判断一个对象是否是某个类的“实例”
注意一个现象: