Ну соответственно
1) Вот класс
class cls
{
public $name;
public $password;
public $referer;
public $time;
public function __construct($name, $password)
{
$this->name = $name;
$this->password = $password;
$this->referer = $_SERVER['PHP_SELF'];
$this->time = time();
}
public function __sleep()
{
return $this;
}
public function __wakeup()
{
return $this;
}
}
Вот его использование:
function __autoload($className)
{
require_once 'class.' . $className . '.php';
}
$obj = new cls('login', 'password');
$text = serialize($obj);
echo 'After serialization ';
var_dump($text);
Echo '<br />';
$fd=fopen('cls.obj' , 'w');
if(!$fd) exit('Can\' create file!');
fwrite($fd,$text);
fclose($fd);
$fd = fopen('cls.obj', 'r');
$text = fread($fd, filesize('cls.obj') );
echo 'What was read from file: ' . $text;
$obj = unserialize($text);
fclose($fd);
echo '<br /> And the result:';
var_dump($obj);
И что выводит:
Те он сериелезует нормально, а вот с обратным процессом проблемы.
Заранее спасибо за время!
зы. и да - это все написано чтобы показать ошибку
Спустя 4 минуты, 47 секунд (29.03.2011 - 10:49) Snus написал(а):
El` Mor
А зачем ты объект сериализируешь? Сериализация для массивов
Спустя 7 минут, 3 секунды (29.03.2011 - 10:56) Guest написал(а):
Цитата (Snus @ 29.03.2011 - 07:49) |
El` Mor А зачем ты объект сериализируешь? Сериализация для массивов |
Для того чтобы его хранить в базе данных после того как пользователь ушел...
Спустя 1 минута, 42 секунды (29.03.2011 - 10:58) El` Mor написал(а):
ЭТо был я... забыл залогиниться...
Спустя 3 минуты, 20 секунд (29.03.2011 - 11:01) Snus написал(а):
class cls
{
public $name;
public $password;
public $referer;
public $time;
public function __construct($name, $password)
{
$this->name = $name;
$this->password = $password;
$this->referer = $_SERVER['PHP_SELF'];
$this->time = time();
}
public function dataSerialize(){
$arr = array($this->name,$this->password,$this->referer,$this->time);
return serialize($arr);
}
}
$obj = new cls('login', 'password');
$text = $obj->dataSerialize();
Спустя 1 час, 44 минуты, 37 секунд (29.03.2011 - 12:46) El` Mor написал(а):
Спасибо

буду дальше разбираться
Спустя 4 минуты, 34 секунды (29.03.2011 - 12:51) linker написал(а):
Для сериализации/десериализации объектов существует магические методы __sleep() и __wakeup().
Спустя 8 минут, 15 секунд (29.03.2011 - 12:59) El` Mor написал(а):
Цитата (linker @ 29.03.2011 - 09:51) |
Для сериализации/десериализации объектов существует магические методы __sleep() и __wakeup(). |
ДА, но их необязательно перегружать вроде....
Спустя 18 минут, 24 секунды (29.03.2011 - 13:17) linker написал(а):
Как бы да. Мой пост был более адресован
Snus'у. А твой код у меня отработал на ура.
function __autoload($className)
{
require_once 'class.' . $className . '.php';
}
$obj = new cls('login', 'password');
file_put_contents('cls.obj', serialize($obj));
$newobj = unserialize(file_get_contents('cls.obj'));
var_dump($newobj);
Спустя 12 минут, 49 секунд (29.03.2011 - 13:30) El` Mor написал(а):
Вопрос снят как глупый мной же...
Спустя 6 часов, 17 минут, 3 секунды (29.03.2011 - 19:47) El` Mor написал(а):
Спустя 22 минуты, 58 секунд (29.03.2011 - 20:10) El` Mor написал(а):