Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Сайтостроение (уроки по HTML, PHP, MySQL, веб-дизайну)


Информационный Канал Subscribe.Ru

Основы PHP. Рассылки сайта progs.biz  
Начало > PHP > Основы > Урок 34

Л. Томсон, Л. Веллинг. Разработка Web-приложений на PHP и MySQL.
Л. Томсон, Л. Веллинг. Разработка Web-приложений на PHP и MySQL
Заказать на Озоне


Полные версии уроков (с картинками): урок 34.

PHP
Урок 34. Сериализация объектов

Что такое сериализация? Это не углубляться в запутывающие сложности, то это просто превращение сложного объекта в поток символов. Т. е. мы можем иметь достаточно сложный объект (экземпляр класса), который в результате сериализации превращается в последовательность символов, которые мы уже достаточно легко можем записать в файл или в базу данных.

Противоположенный процесс называется десериализацией. При этом наш поток байтов снова превращается в объект. Как нетрудно догадаться, десериализация используется, например, для чтения объекта из базы данных или из файла.

Для сериализации и десериализации используются функции serialize() и unserialize() соответственно.

Вот пример

<?php
// Некоторый класс.
class Worker
{
  var $firstName;
  var $lastName;
  var $age;
}

// Создание экземпляра класса.
$w = new Worker;
$w->firstName = "Igor";
$w->lastName = "Alexeev";
$w->age = 40;

// Сериализация объекта.
$s = serialize($w);
// Вывод сериализованного объекта.
echo $s;

// Десериализация.
$v = unserialize($s);
// Вывод десериализованного объекта.
print ("<br>$v->firstName, $v->lastName, $v->age");
?>

Указанный фрагмент сначала выведет в окно браузера строку, представляющую сериализованный объект:

O:6:"worker":3:{s:9:"firstName";s:4:"Igor";s:8:
"lastName";s:7:"Alexeev";s:3:"age";i:40;}

Как вы видите, сериализованнный объект в php делается весьма просто - в текстовом виде записываются имена полей и их значения. Кроме того, записывается информация о типе (s, например, означает строку, а i - целое).

Потом будет выведен десериализованный объект (который, естественно, совпадет с сериализованным):

Igor, Alexeev, 40
Рассылки сайта progs.biz
Visual C++, MFC
C# и .NET
VB.NET
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX new!
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
2002-2004 сайт progs.biz
2002-2004 Алексеев Игорь

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.weblessons
Отписаться

В избранное