对象
- php的对象是用数组模拟的,可以强制类型转换之后打印出来。print_r((array)$student); 由此可见对象是一堆数据。所以可以把一个对象存储起来,以便需要时用,也就是对象的序列化。
//序列化把内存中的对象当前状态保存到一个文件中
$str = serialize($student);
echo $str;
file_put_contents('store.txt',$str);
//需要时,反序列取出这个对象
$str = file_get_contents('store.txt');
$student = unserialize(str)
$student->say();
- 对象是很普通的变量,不同的是其携带了对象的属性和类的入口。
//php 源码中对变量的定义
typedef union_zvalue_value {
long lval;/* ling value*/
double dval;/*double value*/
struct {
char *val;
int len;
}str;
HashTable *ht; /* hash table value */
zend_object_value obj;
}
//对对象的定义
typedef struct_zend_object {
zend_class_entry *ce