|
|
|
|
|
для: Николай2357
(26.11.2010 в 18:43)
| | теперь понятно. Спасибо. | |
|
|
|
|
|
|
|
для: unregistred user
(26.11.2010 в 18:30)
| | Он и сериализуется, причем тут массив. Присто имена свойств и методов нужно вернуть массивом.
<?php
class example
{
public $name;
public function __construct ($name)
{
$this->name = $name;
}
public function __sleep ()
{
return array('name');
}
}
$obj = new example ("test");
var_dump ($obj);
/*
object(example)[2]
public 'name' => string 'test' (length=4)
*/
$object = serialize ($obj);
var_dump ($object);
/*
string 'O:7:"example":1:{s:4:"name";s:4:"test";}' (length=40)
*/
$obj = unserialize($object);
var_dump ($obj);
/*
object(example)[2]
public 'name' => string 'test' (length=4)
*/
|
| |
|
|
|
|
|
|
|
для: Николай2357
(26.11.2010 в 18:29)
| | но сереализовать можно не только массив но и объект, я хотел именно объект. | |
|
|
|
|
|
|
|
для: unregistred user
(26.11.2010 в 18:19)
| |
<?php
class example
{
public $name;
public function __construct ($name)
{
$this->name = $name;
}
public function __sleep ()
{
return array('name');
}
}
$obj = new example ("test");
$object = serialize ($obj);
var_dump ($object);
| Массив имен надо вернуть. Иначе нечего сериализовать будет. | |
|
|
|
|
|
|
| Добрый день.
имеем конструкцию типа:
class example
{
public $name;
public function __construct ($name)
{
$this->name = $name;
}
public function __sleep ()
{
return $this;
}
}
$obj = new example ("test");
$object = serialize ($obj);
var_dump ($object);
|
после работы метода __sleep () имена членов при сериализации пропадают/не записываются.
с чем это может быть связано ?
если попробовать унсереализовать увидим как значение члена стало именем члена.
почему так ? | |
|
|
|
|