Base
in package
implements
Element
The Base XML element is the standard parser & generator that's used by the XML reader and writer.
It spits out a simple PHP array structure during deserialization, that can also be directly injected back into Writer::write.
Tags
Interfaces, Classes and Traits
- Element
- This is the XML element interface.
Table of Contents
- $value : mixed
- PHP value to serialize.
- __construct() : mixed
- Constructor.
- xmlDeserialize() : mixed
- The deserialize method is called during xml parsing.
- xmlSerialize() : mixed
- The xmlSerialize metod is called during xml writing.
Properties
$value
PHP value to serialize.
protected
mixed
$value
Methods
__construct()
Constructor.
public
__construct([mixed $value = null ]) : mixed
Parameters
- $value : mixed = null
Return values
mixed —xmlDeserialize()
The deserialize method is called during xml parsing.
public
static xmlDeserialize(Reader $reader) : mixed
This method is called statictly, this is because in theory this method may be used as a type of constructor, or factory method.
Often you want to return an instance of the current class, but you are free to return other data as well.
Important note 2: You are responsible for advancing the reader to the next element. Not doing anything will result in a never-ending loop.
If you just want to skip parsing for this element altogether, you can just call $reader->next();
$reader->parseInnerTree() will parse the entire sub-tree, and advance to the next element.
Parameters
- $reader : Reader
Return values
mixed —xmlSerialize()
The xmlSerialize metod is called during xml writing.
public
xmlSerialize(Writer $writer) : mixed
Use the $writer argument to write its own xml serialization.
An important note: do not create a parent element. Any element implementing XmlSerializable should only ever write what's considered its 'inner xml'.
The parent of the current element is responsible for writing a containing element.
This allows serializers to be re-used for different element names.
If you are opening new elements, you must also close them again.
Parameters
- $writer : Writer