Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JRegistryFormatXML
+ Graphe d'héritage de JRegistryFormatXML:
+ Graphe de collaboration de JRegistryFormatXML:

Liste de tous les membres

Fonctions membres publiques

 objectToString ($object, $options=array())
 stringToObject ($data, array $options=array())

Fonctions membres protégées

 getValueFromNode ($node)
 getXmlChildren (SimpleXMLElement $node, $var, $nodeName)

Additional Inherited Members

- Fonctions membres publiques statiques inherited from JRegistryFormat
static getInstance ($type)
- Attributs protégés statiques inherited from JRegistryFormat
static $instances = array()

Description détaillée

Définition à la ligne 19 du fichier xml.php.


Documentation des fonctions membres

JRegistryFormatXML::getValueFromNode (   $node)
protected

Method to get a PHP native value for a SimpleXMLElement object. – called recursively

Paramètres:
object$nodeSimpleXMLElement object for which to get the native value.
Renvoie:
mixed Native value of the SimpleXMLElement object.
Depuis:
11.1

Définition à la ligne 81 du fichier xml.php.

{
switch ($node['type'])
{
case 'integer':
$value = (string) $node;
return (int) $value;
break;
case 'string':
return (string) $node;
break;
case 'boolean':
$value = (string) $node;
return (bool) $value;
break;
case 'double':
$value = (string) $node;
return (float) $value;
break;
case 'array':
$value = array();
foreach ($node->children() as $child)
{
$value[(string) $child['name']] = $this->getValueFromNode($child);
}
break;
default:
$value = new stdClass;
foreach ($node->children() as $child)
{
$value->$child['name'] = $this->getValueFromNode($child);
}
break;
}
return $value;
}
JRegistryFormatXML::getXmlChildren ( SimpleXMLElement  $node,
  $var,
  $nodeName 
)
protected

Method to build a level of the XML string – called recursively

Paramètres:
SimpleXMLElement$nodeSimpleXMLElement object to attach children.
object$varObject that represents a node of the XML document.
string$nodeNameThe name to use for node elements.
Renvoie:
void
Depuis:
11.1

Définition à la ligne 135 du fichier xml.php.

{
// Iterate over the object members.
foreach ((array) $var as $k => $v)
{
if (is_scalar($v))
{
$n = $node->addChild($nodeName, $v);
$n->addAttribute('name', $k);
$n->addAttribute('type', gettype($v));
}
else
{
$n = $node->addChild($nodeName);
$n->addAttribute('name', $k);
$n->addAttribute('type', gettype($v));
$this->getXmlChildren($n, $v, $nodeName);
}
}
}
JRegistryFormatXML::objectToString (   $object,
  $options = array() 
)

Converts an object into an XML formatted string.

  • If more than two levels of nested groups are necessary, since INI is not useful, XML or another format should be used.
Paramètres:
object$objectData source object.
array$optionsOptions used by the formatter.
Renvoie:
string XML formatted string.
Depuis:
11.1

Réimplémentée à partir de JRegistryFormat.

Définition à la ligne 33 du fichier xml.php.

{
$rootName = (isset($options['name'])) ? $options['name'] : 'registry';
$nodeName = (isset($options['nodeName'])) ? $options['nodeName'] : 'node';
// Create the root node.
$root = simplexml_load_string('<' . $rootName . ' />');
// Iterate over the object members.
$this->getXmlChildren($root, $object, $nodeName);
return $root->asXML();
}
JRegistryFormatXML::stringToObject (   $data,
array  $options = array() 
)

Parse a XML formatted string and convert it into an object.

Paramètres:
string$dataXML formatted string to convert.
array$optionsOptions used by the formatter.
Renvoie:
object Data object.
Depuis:
11.1

Réimplémentée à partir de JRegistryFormat.

Définition à la ligne 57 du fichier xml.php.

{
$obj = new stdClass;
// Parse the XML string.
$xml = simplexml_load_string($data);
foreach ($xml->children() as $node)
{
$obj->$node['name'] = $this->getValueFromNode($node);
}
return $obj;
}

La documentation de cette classe a été générée à partir du fichier suivant :