PHP 8.1.28 Released!


(PHP 4, PHP 5, PHP 7)

wddx_serialize_valueSerializa um único valor em um pacote WDDX


Esta função foi REMOVIDA a partir do PHP 7.4.0.


wddx_serialize_value(mixed $var, string $comment = ?): string

Cria um pacote WDDX a partir de uma única variável.



Variável a ser serializada


Um comentário (opcional) que aparece no cabeçalho do pacote.

Valor Retornado

Retorna o pacote WDDX ou false em caso de erro.

add a note

User Contributed Notes 1 note

chris at digitalbase dot com
22 years ago
When serializing JavaScript objects to interact with PHP objects, you should make the JavaScript object's first entry a php_class_name.

class myclass {
var $name;
var $age;
var $ssn;

function myclass() {
$this->name = "";
$this->age = "";
$this->ssn = "";

// serialization example code is from the
function SerializeMsg(name, age, ssn, ...) {
var MyObj = new Object;

// the following line is necessary in order
// to deserialize back to a PHP object
MyObj.php_class_name = "myclass"; = name;
MyObj.age = age;
MyObj.ssn = ssn;

// Create a new serializer "object" to do our work for us
MySer = new WddxSerializer;

// Serialize the Message variable into a WDDX Packet
MyWDDXPacket = MySer.serialize(MyObj);

// Output WDDX Packet so we can see what it looks like
return MyWDDXPacket;

Now you can use this in a page which is its own form action:
// don't forget to include the class definition from above!
if (!isSet($wddx_packet))
$MyObj = new myclass();
$MyObj = wddx_deserialize($wddx_packet);

<script language="JavaScript">
function Init() {
// sets the form's text-elements
tmp = document.MyForm; = "<? echo $MyObj->name ?>";
tmp.age.value = "<? echo $MyObj->age ?>";
tmp.ssn.value = "<? echo $MyObj->ssn ?>";

function SerializeMsg(name, age, ssn, ...) {
// see above!

function SubmitForm() {
// sumbits the form
tmp = document.MyForm;

tmp.wddx_packet.value =
SerializeMsg(, tmp.age.value, tmp.ssn.value,...);
// -->
<form name="MyForm"
action="<? echo $PHP_SELF ?>" method="post">
<input name="wddx_packet" type="hidden">
<input name="name" type="text">
<input name="age" type="text">
<input name="ssn" type="text">
<input name="SubmitBtn" type="button" onclick="SumbitForm()">

If you don't provide that first 'php_class_name' in the JavaScript function, then when PHP deserializes it will deserialize into an associative array and not an object instance.

Note that this provides a way to maintain state without
using sessions or cookies - just good old HTML!

Hope this helps!
Chris Hansen
To Top