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

       

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)

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


    Содержание раздела