Учебник по основам PHP




WDDX


Данная группа функций позволяет работать с данными в формате WDDX (http://www.wddx.org/). WDDX (Web Distributed Data Exchange) — это технология для «Распределенного обмена данными в web». Этот формат (производный от XML) предназначен для переноса данных из одной системы в другую (например, обмена данными между ASP, Perl, ColdFusion и PHP). Он позволяет сохранять не только значения, но и типы, и структуру сложных данных. Поэтому данные WDDX, сериализированные в одной системе, могут использоваться в другой. Тип данных определяется автоматически и приводится к одному из следующих:

  • null — пустые значения;
  • bool — булевские значения;
  • number — числа (целые и дробные не различаются);
  • string — строки;
  • dateTime — значения даты и времени;
  • array — нумерованные массивы;
  • struct — ассоциативные массивы;
  • recordset — наборы записей (подобие таблиц);
  • binary — двоичные данные (в кодировке Base64).

В отличие от стандартных средств сериализации РНР данные функции используют формат, поддерживаемый большинством программных сред.

<?php $pi = 3.1415926.
Spacketjd = wddx_packet_start("Комментарий пакета"):
wddx_add_vars($packet_id. "pi");
/* допустим Scities получено из БД
*/ Scities = arrayt"Austin". "Seattle");
wddx_add_vars($packet_id, "cities");
print Spacket = wddx_packet_end($packet_id); ?> < /FONT >

Пример выведет:

<wddxPacket version='1.0'><header comnent='Комментарий пакета'/>
<data><struct><var name='pi'><number>3.1415926</number>
</var> <var name='cities'xarra.y 1 ength='2' >
<string>Austin</string<str1ng>Seattle</stnng>
</array> </var></btruct></data></wddxPacket>

wddx_serialize_value

Занесение одного значения в пакет WDDX

string wddx_serialize_value (mixed var [, string comment])

Создает пакет WDDX из значения одной переменной var, добавляя в заголовок пакета комментарий comment, и возвращает полученный пакет.

<?php print wddx_senalize_valueC"WDDX
packet example". "PHP packet"); ?>

Пример выведет:

<wddxPacket version='1.0'><header comment''PHP packet'/>
<data> <stnng>WDDX packet example</stnng></data>
</wddxPacket>

wddx_serialize_vars

Создание пакета WDDX из нескольких значений

string wddx_serialize_vars (mixed varjiame [. mixed ...])

<?php $a = 1; $b - 5.5; $c = arrayC'blue". "orange", "violet"):
$d = "colors"; $clvars = arrayC'c". "d")-.
print wddx_serialize_vars("a". "b", Sclvars); ?>

Пример выведет:

<wddxPacket version= '1.0'><header/><data><st.ruct>
<va г name='a'><number>l</number></va r>
<vdr name='b'><number>5 5</number></var>
<var name='c'><array length='3'><string>blue
</string> <string>orange</string><stnng>violet</stnng>
</array></var> <var name='d'><stnng>colors</string>
</var> </struct></<jata></wddxPacket>

wddx_packet_start

Начало нового пакета WDDX

int wddx_packet_start ([string comment])

Используется для начального создания пакета WDDX с автоинкрементным добавлением переменных. Данные затем добавляются функцией wddx_add_vars(), после чего пакет должен быть завершен с помощью wddx_packet_end().

wddx_packet_end

Завершение пакета WDDX

string wddx_packet_end (int packetjid)

Возвращает содержимое пакета.

wddx_add_vars

Добавление следующей переменной в пакет WDDX

wddx_add_vars (int packet_id, mixed name_var [, mixed ...])

Используется для последовательного добавления данных в пакет packet_id, созданный функцией wddx_packet_start().

wddx_deserialize

Распаковка пакета WDDX

mixed wddx_deseria1ize (string packet)

Возвращает данные такого типа, которые были сериализированы.









Начало        Вперед