Учебник РНР
Назад Вперёд

CIII. Функции WDDX

Эти функции предназначены для работы с WDDX.

Чтобы использовать WDDX, вам необходимо установить библиотеку expat (которая поставляется с Аpache 1.3.7 или новее) и рекомпилировать PHP с опциями --with-xml и --enable-wddx.

Примечание: если вы хотите сериализовать не-ASCII символы, вы должны предварительное установить соответствующую локализацию (см. setlocale() ).

Все функции, сериализующие переменные, используют первый элемент массива для определения того, сериализован ли массив в массив или в структуру. Если первый элемент имеет строковой ключ, то он сериализуется в структуру, иначе - в массив.

Пример 1. Сериализация отдельного значения
<?php print wddx_serialize_value("PHP to WDDX packet example", "PHP packet"); ?>

На выходе этот пример даст:

<wddxPacket version='1.0'><header comment='PHP packet'/><data> <string>PHP to WDDX packet example</string></data></wddxPacket>
Пример 2. Использование инкремекнтных пакетов
<?php $pi = 3.1415926; $packet_id = wddx_packet_start("PHP"); wddx_add_vars($packet_id, "pi"); /* Предположим, $cities пришла из БД */ $cities = array("Austin", "Novato", "Seattle"); wddx_add_vars($packet_id, "cities"); $packet = wddx_packet_end($packet_id); print $packet; ?>

Это пример даст на выходе:

<wddxPacket version='1.0'><header comment='PHP'/><data><struct> <var name='pi'><number>3.1415926</number></var><var name='cities'> <array length='3'><string>Austin</string><string>Novato</string> <string>Seattle</string></array></var></struct></data></wddxPacket>
Содержание
wddx_add_vars - добавляет переменные в пакет WDDX со специфицированным ID
wddx_deserialize - десериализует WDDX-пакет
wddx_packet_end - заканчивает WDDX-пакет со специфицированным ID
wddx_packet_start - стартует новый WDDX-пакет со структурой в нём
wddx_serialize_value - сериализует отдельное значение в WDDX-пакет
wddx_serialize_vars - сериализует переменную в WDDX-пакет

Назад Оглавление Вперёд
w32api_set_call_method Вверх wddx_add_vars