Yupp Framework PHP

Serialización a XML

Las instancias de subclases de PersistentObject, o sea las clases que forman parte del modelo de información de una aplicación, pueden ser serializadas a XML. Esta funcionalidad sirve para múltiples propósitos, desde la implementación de servicios web, hasta para testing y debugging. A continuación se muestra un ejemplo de cómo funciona la serialización a XML.

Primero declaremos la clase persistente con la que trabajaremos. Nada especial, solo una clase "Persona" con atributos de nombre y edad:
class Persona extends PersistentObject
{
   function __construct($args = array (), $isSimpleInstance = false)
   {
	  // Atributos
      $this->addAttribute("nombre", Datatypes :: TEXT);
      $this->addAttribute("edad",   Datatypes :: INT_NUMBER);

	  // Restricciones
      $this->addConstraints("nombre", array (
          Constraint :: maxLength(30),
          Constraint :: blank(false)
      ));
      $this->addConstraints("edad", array (
          Constraint :: between(10, 100)
      ));

      parent :: __construct($args, $isSimpleInstance);
   }
   
   ....
}
Código de serialización a XML:
// Nueva instancia de Persona
$persona = new Persona(array(
             'nombre' => 'Pablo',
			 'edad'   => 29
           ));

// Carga de clase de serialización de PersistentObjects a XML
YuppLoader::load('core.persistent.serialize', 'XMLPO');

// Serialización e impresión del resultado
echo XMLPO::toXML($persona, true);
 
Y el restulado será el siguiente:

  Pablo
  29
  Persona
  
  1

 
Notar que el XML incluye los atributos inyectados de PersistentObject: id, class y deleted.
Por consultas o comentarios ir al grupo:
Grupos de Google
Suscribirte a Yupp Framework PHP
Correo electrónico:
Consultar este grupo