Given two classes:
class A
{
private $prop1;
}
class B extends A
{
private $prop2;
public function __sleep()
{
return array('prop1','prop2');
}
}
That will only serialize the value of prop2
as it's a direct property of class B.
How can I get it to output the inherited prop1
from superclass A?
EDIT:
Not defining the __sleep() will show the private
properties in the serialized string without setting them to protected
. They look something like �A�prop1
, only I cannot get what the � is.
A private member is not visible by any code in child classes. You will need
protected
.Explicitly call the parent class's function and append the result:
Private properties are not visible to child objects. You will need to change the visibility of
$prop1
toprotected
soB
can access it:From the manual: