Fra*_*isc -2 php oop serialization sleep
鉴于两个类:
class A
{
private $prop1;
}
class B extends A
{
private $prop2;
public function __sleep()
{
return array('prop1','prop2');
}
}
Run Code Online (Sandbox Code Playgroud)
这只会序列化prop2它的值,因为它是B类的直接属性.
如何让它输出prop1从超类A 继承的?
编辑:
未定义__sleep()将显示private序列化字符串中的属性而不将其设置为protected.他们看起来像是?A?prop1,只有我不能得到 是什么.
cwa*_*ole 10
显式调用父类的函数并追加结果:
class A
{
private $prop1;
public function __sleep()
{
return array('prop1');
}
}
class B extends A
{
private $prop2;
public function __sleep()
{
$arr = parent::__sleep();
array_push( $arr, 'prop2' );
return $arr;
}
}
Run Code Online (Sandbox Code Playgroud)