Почему свойство public_key не серилизуется?
Мне надо серелизовать класс B который расширяется с помощью класса А
Но свойство public_key почему то не хочет серелизвоатся, почему у него такое поведение?
class A{
private $public_key = '';
protected function __construct($public_key)
{
$this->public_key = $public_key;
}
public function __sleep()
{
return array('public_key');
}
}
class B extends A{
public function __construct($public_key = 'hello')
{
parent::__construct($public_key);
}
}
$b = new B();
var_dump($b);
var_dump(unserialize(serialize($b)));
object(B)#1 (1) {
["public_key":"A":private]=>
string(5) "hello"
}
PHP Notice: serialize(): "public_key" returned as member variable from __sleep() but does not exist in /home/master/test.php on line 24
object(B)#2 (2) {
["public_key":"A":private]=>
string(0) ""
["public_key"]=>
NULL
}