Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Интерфейс Serializable
(PHP 5 >= 5.1.0)
Введение
Интерфейс для индивидуальной сериализации.
Классы, которые реализуют этот интерфейс не поддерживают больше __sleep() и __wakeup(). Метод serialize вызывается всякий раз, когда необходима сериализация экземпляру класса. Этот метод не вызывает __destruct() и не имеет никаких побочных действий кроме тех, которые запрограммированы внутри него. Когда данные десериализованы, класс известен и соответствующий метод unserialize() вызывается как конструктор вместо вызова __construct(). Если вам необходимо вызвать стандартный конструктор, вы можете это сделать в этом методе.
Обзор интерфейсов
Serializable {
/* Методы */
abstract public string serialize ( void )
abstract public mixed unserialize ( string $serialized )
}
Пример #1 Основы использования
class obj implements Serializable {
private $data;
public function __construct() {
$this->data = "My private data";
}
public function serialize() {
return serialize($this->data);
}
public function unserialize($data) {
$this->data = unserialize($data);
}
public function getData() {
return $this->data;
}
}
$obj = new obj;
$ser = serialize($obj);
var_dump($ser);
$newobj = unserialize($ser);
var_dump($newobj->getData());
Результатом выполнения данного примера будет что-то подобное:
string(38) "C:3:"obj":23:{s:15:"My private data";}" string(15) "My private data"
Содержание
- Serializable::serialize — Представляет объект в виде строки
- Serializable::unserialize — Создает объект
Описание класса serializable, примеры использования класса serializable.
Смотрите также:
Описание на ru2.php.net
Описание на php.ru