CXV. WDDX 関数

導入

以下の関数は、WDDX と組み合わせて 動作することを想定しています。

要件

WDDX を使用するには、(Apache 1.3.7以降に付属する)expatライブラリを インストールする必要があります。

インストール手順

expatをインストールした後、 --enable-wddxを指定してPHPを コンパイルする必要があります。

Windows版のPHPには この拡張モジュールのサポートが組み込まれています。これらの関数を使用 するために拡張モジュールを追加でロードする必要はありません。

実行用の設定

この拡張モジュールは設定ディレクティブを全く 定義しません。

リソース型

この拡張モジュールはリソース型を全く定義し ません。

定義済みの定数

この拡張モジュールは定数を全く定義しませ ん。

変数をシリアル化する全ての関数は配列の最初要素をその配列が配列と 構造体のどちらでシリアル化されるのかを定義するために使用するとい うことに注意して下さい。最初の要素が文字列をキーとして有する場合 は構造体でシリアル化され、その他の場合は配列でシリアル化されます。

例 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");

/* Suppose $cities came from database */
$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>

注意: ASCII以外の文字をシリアル化したい場合、これを行う前に 適切にロケールを設定する必要があります。 (setlocale()を参照して下さい)

目次
wddx_add_vars -- 指定したIDのWDDXパケットを追加する
wddx_deserialize -- シリアル化された WDDX パケットを元に戻す
wddx_packet_end -- 指定した ID の WDDX パケットを終了する
wddx_packet_start --  新規の WDDX パケットを内部の構造体を用いて開始する
wddx_serialize_value -- 値をWDDXパケットにシリアル化する
wddx_serialize_vars -- 変数を WDDX パケットにシリアル化する