Documentation

Node extends Node
in package

Die Klasse Node bildet einen einfachen XML-Knoten nach.

$obj = new Node('parent');
$obj->appendChild(new Node('child'));
// Über den Tagnamen erhält man eine Referenz auf das Objekt ($obj->parent) ist identisch zu $obj)
echo (string) $obj->parent;
// Zugriff auf die Kinder liefert NodeList zurück (beide Aufrufe sind gleichbedeutend)
echo $obj->parent->child;
echo $obj->child;
// auf die XML-Zeichenkette kann mit dem Schlüsselwort xml zugegriffen werden.
echo $obj->xml;
Tags
category

Framework

author

schukai GmbH [email protected]

license

http://alvine.io/license/ Licence

link

Alvine

since
20110904

Table of Contents

Constants

APIVERSION  = 1
Version der API-Version der Klasse.
DOCUMENT  = 9
Node ist ein Dokument
ELEMENT  = 1
Node ist ein Element
IDENTIFICATION  = 'Alvine'
Identifizierung der Alvine API
NODE  = 0
Node ist ein Node
SERIALVERSION  = 1
Version der Klasse (wird für die Serialisierung verwendet. Ändert sich der interne Aufbau der Klasse, so muss dieser Wert nach oben gesetzt werden. Die Serialisierung muss diesen Wert abfragen und bei Bedarf einen Wrapper für das Arbeiten mit veralteten Objekten implmenetieren.
VERSION  = 2
Generelle Alvine-Version

Properties

$attributes  : AttributeMap
$children  : NodeList
$hasAssociatedProperties  : boolean
$hash  : string
Eindeutige ID
$hasVolatileProperties  : boolean
$level  : integer
$parent  : Node
$properties  : array
$tag  : string
$type  : integer
$value  : string

Methods

__call()  : mixed
Ein Closures das dem Objekt übergeben wurde, kann entweder als Property oder als Funktion aufgerufen werden.
__clone()  : mixed
Interne Hook für das Clonen des Objektes. Wenn das zu klonende Objekt bereits eine eindeutige ID hat, dann wird auch für das neue Objekt eine eindeutige ID erstellt.
__construct()  : mixed
Erstellt ein neues Node-Objekt
__destruct()  : mixed
Referenzen auflösen und GC starten
__get()  : string|Node|NodeList
Über diese magische Funktion wird der Zugriff auf diese Node und die Kindelemente über den Objekt-Operator -> geregelt.
__isset()  : boolean
Wird aufgerufen, wenn isset() auf ein internes Property angewendet wird.
__serialize()  : array<string|int, mixed>
Serialization of the object and data. In the serialized object also stores meta-information for matching.
__set()  : void
Diese Methode setzt Werte der Klasse über den Klassenoperator
__toString()  : string
Liefert das XML-Dokument als Zeichenkette zurück
__unserialize()  : void
__unset()  : mixed
Zurücksetzen von Werten
appendChild()  : Node
Neue Node als Kind einhängen
containsNode()  : boolean
Diese Methode prüft, ob die übergebene Node identisch mit dieser Node oder einem der Kinder ist.
current()  : string
Implementierung des Iteration Interfaces.
equals()  : boolean
Diese Funktion vergleicht zwei Objekte. Dazu wird von beiden der Wert, der von `Alvine::getID()` zurückgeliefert wird ermittelt und das Ergebnis verglichen. Vererbte Klassen können diese Methode überschreiben.
find()  : NodeList
Suche nach Nodes anhand eines Constrait.
getAttributes()  : AttributeMap
AttributeMap
getAttributeValue()  : string
Den Wert eines Attributes abfragen
getChildren()  : RecursiveIterator|null
Kinder
getClass()  : string
Name der Klasse
getClone()  : Alvine
Diese Methode gibt ein geklontes Objekt von sich selber zurück.
getClosure()  : Closure
Closure über den definierten Namen holen. Ist keine Eigenschaft mit dem Namen definiert, so wird eine BadPropertyException geworfen. Gibt es eine Eigenchaft mit dem Namen, ist diese aber kein Closure, so wird eine NotFoundException geworfen.
getFirstChild()  : Node
Liefert das erste Kind zurück
getHashCode()  : string
Die Methode Alvine::getID() verwenden!
getID()  : string
Diese Methode gibt eine eindeutige ID des Objektes zurück. Bei der ID handelt es sich um eine Zeichenkette in der Form einer UUID.
getInnerIterator()  : NodeList
Innerer Iterator
getLastChild()  : Node
Liefert das letzte Kind zurück
getLevel()  : integer
Da der Level im Objekt von außen gesetzt wird, kann dieser Wert von dem tatsächlichen abweichen.
getName()  : string
Den Tag abfragen
getNodeFromString()  : Document
Erstellt eine Node aus einer XML-Zeichenkette
getParent()  : Node
Die Eltern-Node abfragen
getShortID()  : string
Diese Methode entfernt alle Minuszeichen aus der UUID des Hash. Wird eine Länge definiert, so wird nach dem entfernen der Minuszeichen die ersten $length Zeichen zurückgegeben.
getTag()  : string
Alias auf getName
getType()  : integer
Gibt den Typ der Node zurück
getValue()  : mixed
Der Wert holen
getXML()  : string
getXML
hasAssociatedProperties()  : boolean
Check if the object has associative properties
hasChildNodes()  : boolean
Prüft ob Kinder verfügbar sind
hasChildren()  : boolean
Alias für hasChildNodes
hasVolatileProperties()  : boolean
Prüfen ob das Objekt volatile Eigenschaften besitzt
insertAfter()  : Node
Fügt eine neue Node nach einer bestimmten Node ein.
insertAt()  : Node
Fügt ein Kind an der definierten Stelle ein
insertBefore()  : Node
Fügt eine neue Node vor einer bestimmten Node ein.
isCallable()  : bool
Mit dieser Methode kann geprüft werden, ob eine Methode aufrufbar ist. Das gilt für echte und eingehängte DI-Methoden (Lambda).
isInstanceOf()  : boolean
Prüft ob das übergebene Objekt eine Instanz dieses Objektes ist. Allerdings ist darauf zu achten, das vorher definiert wurde, das das neue Objekt von Alvine abgeleitet wurde.
isSameNode()  : bolean
Prüft ob diese Node identisch zu der übergebenen ist
key()  : string
Implementierung des Iteration Interfaces.
next()  : mixes
Implementierung des Iteration Interfaces.
offsetExists()  : boolean
Implementierung des ArrayAccess Interfaces.
offsetGet()  : Node
Implementierung des ArrayAccess Interfaces.
offsetSet()  : void
Implementierung des ArrayAccess Interfaces.
offsetUnset()  : void
Implementierung des ArrayAccess Interfaces.
propertyExists()  : boolean
Prüfen ob eine Eigenschaft als dynamische Eigenschaft verfügbar ist, die über $obj->property abgefragt werden kann.
removeAttribute()  : Node
Attribut entfernen
removeChild()  : Node
Kind entfernen
removeIndex()  : mixed
Löscht ein Kinder-Element
replaceChildren()  : Node
Diese Methode ersetzt die Node $search in der Liste der Kinder mit der neuen Node $replace. Ist die Node mehrfach vorhanden so wird diese mehrfach ersetzt. Die Prüfung erfolgt über die Methode Node::equals. Ist die Node nicht vorhanden, so wird diese nicht ersetzt.
rewind()  : void
Implementierung des Iteration Interfaces.
setAttributeValue()  : Node
Ein Attribut setzen
setChildren()  : Node
Die aktuellen Kinder werden durch die übergebenen Kinder vollständig ersetzt.
setParent()  : Node
Die Eltern-Node einer Node setzen
setValue()  : Node
Den Wert der Node setzen.
setXML()  : Document
Diese Methode analysiert und setzt für das Objekt eine XML-Zeichenkette.
truncate()  : Node
Löscht alle Kindelemente in dem eine neue NodeListe über die Funktion Node::getNewNodeList() erstellt wird.
unsetParent()  : Node
ElternNode entfernen
valid()  : boolean
Implementierung des Iteration Interfaces.
checkAndAdjustSerialisation()  : array<string|int, mixed>
Dealing with versions
escapeAttributeKey()  : string
escapeAttributeValue()  : string
getChildNodeListByTagName()  : NodeList
getChildNodeListByTagName
getElementClass()  : string
Element
getNewNodeList()  : NodeList
Nodelist
getParser()  : Parser
Liefert ein neues Parser Objekt zurück

Constants

APIVERSION

Version der API-Version der Klasse.

public mixed APIVERSION = 1

IDENTIFICATION

Identifizierung der Alvine API

public mixed IDENTIFICATION = 'Alvine'

SERIALVERSION

Version der Klasse (wird für die Serialisierung verwendet. Ändert sich der interne Aufbau der Klasse, so muss dieser Wert nach oben gesetzt werden. Die Serialisierung muss diesen Wert abfragen und bei Bedarf einen Wrapper für das Arbeiten mit veralteten Objekten implmenetieren.

public mixed SERIALVERSION = 1

https://php.watch/versions/8.1/serializable-deprecated

VERSION

Generelle Alvine-Version

public mixed VERSION = 2

Properties

$hash

Eindeutige ID

protected string $hash = null

Die ID wird erst über die Methode \Alvine\Core\Alvine::getID() bei Bedarf ermittelt, deshalb müssen auch abgeleitete Klassen nicht direkt auf den Wert zugreifen, sondern den Wert über getID() holen.

Hash-Wert des Objekts (UUID)

$level

protected integer $level = 0

Tiefe der Node vom Root

$properties

protected array $properties = []

Liste mit dynamischen Eigenschaften die über __get und __set bearbeitet werden können.

$value

protected string $value = ''

Wert der Node

Methods

__call()

Ein Closures das dem Objekt übergeben wurde, kann entweder als Property oder als Funktion aufgerufen werden.

public __call(string $name, array $arguments) : mixed

Achtung: Wird das Closure in einem Objekt definiert, so ist die Variable $this nicht das Objekt des Closures, sondern des, in dem das Closure definiert wurde.

// als erster Parameter wird immer das Objekt übergeben
$a->myfunction = function($obj, $b) { echo $b.'!'; };
// Aufruf als Eigenschaft ohne Parameter
$a->myfunction;  // Ausgabe ist ein !
//
// Aufruf als Methode mit Parametern
$a->myfunction('OK');  // Ausgabe ist  OK!
Parameters
$name : string

Funktionsname

$arguments : array

Argumente

Tags
throws
NotCallableException

Exception

Return values
mixed

Ergebnis des Callbacks

__clone()

Interne Hook für das Clonen des Objektes. Wenn das zu klonende Objekt bereits eine eindeutige ID hat, dann wird auch für das neue Objekt eine eindeutige ID erstellt.

public __clone() : mixed

Alvine-Objekte werden rekursive geclont, so das ein vollständiger Clone vorhanden ist.

__construct()

Erstellt ein neues Node-Objekt

public __construct(string $tag[, string $value = '' ][, array<string|int, mixed>|null|AttributeMap $attributes = null ]) : mixed
Parameters
$tag : string

Tag

$value : string = ''

Wert

$attributes : array<string|int, mixed>|null|AttributeMap = null

Atributes

__destruct()

Referenzen auflösen und GC starten

public __destruct() : mixed

__get()

Über diese magische Funktion wird der Zugriff auf diese Node und die Kindelemente über den Objekt-Operator -> geregelt.

public __get(string $name) : string|Node|NodeList

Je nach Name unterscheidet sich die Wirkungsweise.

$obj = new Node('parent');
$obj->appendChild(new Node('child'));
// Über den Tagnamen erhält man eine Referenz auf das Objekt ($obj->parent) ist identisch zu $obj)
echo (string) $obj->parent;
// Zugriff auf die Kinder liefert NodeList zurück (beide Aufrufe sind gleichbedeutend)
echo $obj->parent->child;
echo $obj->child;
// auf die XML-Zeichenkette kann mit dem Schlüsselwort xml zugegriffen werden.
echo $obj->xml;
Parameters
$name : string

Name der Eigenschaft

Return values
string|Node|NodeList

Wert der Eigenschaft

__isset()

Wird aufgerufen, wenn isset() auf ein internes Property angewendet wird.

public __isset(string $name) : boolean
Parameters
$name : string
Return values
boolean

__serialize()

Serialization of the object and data. In the serialized object also stores meta-information for matching.

public __serialize() : array<string|int, mixed>

If a derived class is not to be serializable, then this * method must be overridden and throw an exception. this method must be overridden and throw an exception.

Properties starting with volatile or associated. are handled separately. Properties with prefix volatile are not serialized. For properties with the prefix associated, only the * ID of the object is serialized. ID of the object is serialized. If no object is stored in the property is stored in the property, a TypeException is thrown.

Tags
see
https://php.watch/versions/8.1/serializable-deprecated
Return values
array<string|int, mixed>

__set()

Diese Methode setzt Werte der Klasse über den Klassenoperator

public __set(string $name, string|Node|NodeList $value) : void
Parameters
$name : string

Name der Eigenschaft

$value : string|Node|NodeList

Wert der Eigenschaft

__toString()

Liefert das XML-Dokument als Zeichenkette zurück

public __toString() : string
Return values
string

Zeichenkette

__unset()

Zurücksetzen von Werten

public __unset(string $name) : mixed
Parameters
$name : string

appendChild()

Neue Node als Kind einhängen

public appendChild(Node $node) : Node
Parameters
$node : Node

Anzuhängende Node

Return values
Node

Dieses Objekt

containsNode()

Diese Methode prüft, ob die übergebene Node identisch mit dieser Node oder einem der Kinder ist.

public containsNode(Node $node) : boolean

Diese Methode arbeitet anders als andere Methoden dieser Klasse rekursive.

Als Vergleichsfunktion wird Node::equals() verwendet.

Parameters
$node : Node

Node

Return values
boolean

Ergebnis

current()

Implementierung des Iteration Interfaces.

public current() : string
Return values
string

aktuelles String-Objekt

equals()

Diese Funktion vergleicht zwei Objekte. Dazu wird von beiden der Wert, der von `Alvine::getID()` zurückgeliefert wird ermittelt und das Ergebnis verglichen. Vererbte Klassen können diese Methode überschreiben.

public equals(Alvine $object) : boolean
class MyObject extends Alvine };

$objA = new MyObject();
$objB = new MyObject();

if($objA->equals($objB)) {
  // ...
}
Parameters
$object : Alvine

Objekt das überprüft werden soll

Return values
boolean

true wenn beide Objekte identisch sind.

find()

Suche nach Nodes anhand eines Constrait.

public find(Constraint $constrait) : NodeList

Das nachfolgende Beispiel gibt eine NodeList mit der Node id3 aus.

$div = new Alvine\Types\Node('id1', 'value1');
$div->appendChild(new Alvine\Types\Node('id2', 'value2'));
$div->appendChild(new Alvine\Types\Node('id3', 'value3'));

$find = $div->find(new Alvine\Types\Node\Constraint\Name('id3'));
foreach($find AS $n) {
    echo $n->getName()."\n";
}
Parameters
$constrait : Constraint
Return values
NodeList

getAttributeValue()

Den Wert eines Attributes abfragen

public getAttributeValue(string $name) : string
Parameters
$name : string

Name

Return values
string

Wert

getChildren()

Kinder

public getChildren([string $name = null ]) : RecursiveIterator|null

Die Kinder der Node abfragen. Wird ein Tag angegeben, so werden nur Kinder mit diesem Tag zurückgegeben.

Parameters
$name : string = null

Name des Tags

Return values
RecursiveIterator|null

getClass()

Name der Klasse

public getClass() : string
class MyObject extends Alvine };
$obj = new MyObject();

echo $obj->getClass();
Tags
see
ClassType::getNormalizedName
Return values
string

Klassenname

getClone()

Diese Methode gibt ein geklontes Objekt von sich selber zurück.

public getClone([boolean $deepClone = false ]) : Alvine

Wenn eine abgeleitete Klasse diese Methode nicht unterstützt, so muss diese die Methode überschreiben und eine CloneNotSupportedException werfen. Die Standardmethode klont eine seichte Kopie der Eigenschaften. Das bedeutet das Objekte in den Eigenschaften nicht geclont werden. Sollen diese auch geclont werden muss true übergeben werden.

Wenn weitere Funktionen implementiert werden sollen, so muss __clone überschrieben werden

Parameters
$deepClone : boolean = false

Clone aller enthaltenen Objekte

Tags
see
Alvine::__clone()
Return values
Alvine

getClosure()

Closure über den definierten Namen holen. Ist keine Eigenschaft mit dem Namen definiert, so wird eine BadPropertyException geworfen. Gibt es eine Eigenchaft mit dem Namen, ist diese aber kein Closure, so wird eine NotFoundException geworfen.

public getClosure(string $name) : Closure
Parameters
$name : string

Name des Closure

Tags
throws
NotFoundException
throws
BadPropertyException
Return values
Closure

getFirstChild()

Liefert das erste Kind zurück

public getFirstChild() : Node
Return values
Node

Erstes Kind

getHashCode()

Die Methode Alvine::getID() verwenden!

public getHashCode() : string
Tags
deprecated
20140611
Return values
string

Hashwert des Objektes

getID()

Diese Methode gibt eine eindeutige ID des Objektes zurück. Bei der ID handelt es sich um eine Zeichenkette in der Form einer UUID.

public getID() : string

Objekte haben bei der Erstellung noch keine eindeutige ID, erst mit dem expliziten Aufruf der ID wird diese einmalig erstellt und im Objekt gepseichert.

Diese Methode wird implizit beim Serialisieren aufgerufen.

Die UUID ist dabei vom Type4 (Random)

Return values
string

UUID des Objektes

getLastChild()

Liefert das letzte Kind zurück

public getLastChild() : Node
Return values
Node

Letztes Kind

getLevel()

Da der Level im Objekt von außen gesetzt wird, kann dieser Wert von dem tatsächlichen abweichen.

public getLevel() : integer
Return values
integer

Level

getName()

Den Tag abfragen

public getName() : string
Return values
string

Tag

getNodeFromString()

Erstellt eine Node aus einer XML-Zeichenkette

public static getNodeFromString(string $tag, string $xml[, string $encoding = null ]) : Document
Parameters
$tag : string

Name des Root-Tags

$xml : string

XML-Dokument

$encoding : string = null

Encoding

Return values
Document

Dieses Objekt

getParent()

Die Eltern-Node abfragen

public getParent() : Node
Return values
Node

Eltern-Node

getShortID()

Diese Methode entfernt alle Minuszeichen aus der UUID des Hash. Wird eine Länge definiert, so wird nach dem entfernen der Minuszeichen die ersten $length Zeichen zurückgegeben.

public getShortID([int|null $length = null ]) : string

Diese Methode ist hilfreich um Platz zu sparen.

Je kürzer die ID ist, um so größer ist die Wahrscheinlichkeit einer Kollision mit anderen Hash vergleichbarer Objekte.

Parameters
$length : int|null = null
Return values
string

getTag()

Alias auf getName

public getTag() : string
Return values
string

Tag

getType()

Gibt den Typ der Node zurück

public getType() : integer
Return values
integer

Typ

getValue()

Der Wert holen

public getValue() : mixed
Return values
mixed

Wert

getXML()

getXML

public getXML() : string

Gibt XML, inkl. der Kinder zurück, als Linefeed wird \n verwendet.

Return values
string

XML

hasChildNodes()

Prüft ob Kinder verfügbar sind

public hasChildNodes() : boolean
Return values
boolean

true/false

hasChildren()

Alias für hasChildNodes

public hasChildren() : boolean
Return values
boolean

true/false

insertAfter()

Fügt eine neue Node nach einer bestimmten Node ein.

public insertAfter(Node $newNode, Node $reference) : Node
Parameters
$newNode : Node

Eine Node vor einer anderen einfügen

$reference : Node

Node, vor der die neue Node eingefügt werden soll

Return values
Node

Diese Node

insertAt()

Fügt ein Kind an der definierten Stelle ein

public insertAt(integer $index, Node $newNode) : Node
Parameters
$index : integer

Definierte Stelle

$newNode : Node

Neue Node

Return values
Node

dieses Objekt

insertBefore()

Fügt eine neue Node vor einer bestimmten Node ein.

public insertBefore(Node $newNode, Node $reference) : Node
Parameters
$newNode : Node

Eine Node vor einer anderen einfügen

$reference : Node

Node, vor der die neue Node eingefügt werden soll

Return values
Node

Diese Node

isCallable()

Mit dieser Methode kann geprüft werden, ob eine Methode aufrufbar ist. Das gilt für echte und eingehängte DI-Methoden (Lambda).

public isCallable(string $name) : bool
if($obj->isCallable('myfunction')) {
  $obj->myfunction();
}
Parameters
$name : string

Name der Methode

Return values
bool

Ergebnis

isInstanceOf()

Prüft ob das übergebene Objekt eine Instanz dieses Objektes ist. Allerdings ist darauf zu achten, das vorher definiert wurde, das das neue Objekt von Alvine abgeleitet wurde.

public isInstanceOf(object $object) : boolean
if($obj instanceof Alvine &&
   $obj->isInstanceOf($object)) { };

Die Prüfung entspricht

$this instanceof $object
Parameters
$object : object
Return values
boolean

isSameNode()

Prüft ob diese Node identisch zu der übergebenen ist

public isSameNode(Node $node) : bolean
Parameters
$node : Node

Node

Return values
bolean

true/false

key()

Implementierung des Iteration Interfaces.

public key() : string
Return values
string

Keys

next()

Implementierung des Iteration Interfaces.

public next() : mixes
Return values
mixes

nächster Eintrag

offsetExists()

Implementierung des ArrayAccess Interfaces.

public offsetExists(simple $index) : boolean
Parameters
$index : simple

Index

Return values
boolean

true/false

offsetGet()

Implementierung des ArrayAccess Interfaces.

public offsetGet(simple $index) : Node
Parameters
$index : simple

Index

Return values
Node

offsetSet()

Implementierung des ArrayAccess Interfaces.

public offsetSet(simple $index, Node $node) : void
Parameters
$index : simple

Index

$node : Node

Node

offsetUnset()

Implementierung des ArrayAccess Interfaces.

public offsetUnset(simple $index) : void
Parameters
$index : simple

Index

propertyExists()

Prüfen ob eine Eigenschaft als dynamische Eigenschaft verfügbar ist, die über $obj->property abgefragt werden kann.

public propertyExists(string $name) : boolean
if($obj->propertyExists('myproperty')) {
  $value = $obj->myproperty;
}
Parameters
$name : string

Name der Eigenschaft

Return values
boolean

removeAttribute()

Attribut entfernen

public removeAttribute(string $name) : Node
Parameters
$name : string

Name des Attributes

Return values
Node

Dieses Objekt

removeIndex()

Löscht ein Kinder-Element

public removeIndex(integer $index) : mixed
Parameters
$index : integer

replaceChildren()

Diese Methode ersetzt die Node $search in der Liste der Kinder mit der neuen Node $replace. Ist die Node mehrfach vorhanden so wird diese mehrfach ersetzt. Die Prüfung erfolgt über die Methode Node::equals. Ist die Node nicht vorhanden, so wird diese nicht ersetzt.

public replaceChildren(Node $search, Node $replace) : Node
Parameters
$search : Node

Zu ersetzende Node

$replace : Node

Neue Node

Return values
Node

Dieses Objekt

rewind()

Implementierung des Iteration Interfaces.

public rewind() : void

Internen Zähler zurücksetzen.

setAttributeValue()

Ein Attribut setzen

public setAttributeValue(string $name, string $value) : Node
Parameters
$name : string

Name des Attributes

$value : string

Wert des Attributes

Return values
Node

setChildren()

Die aktuellen Kinder werden durch die übergebenen Kinder vollständig ersetzt.

public setChildren(NodeList $children) : Node
Parameters
$children : NodeList

Neue Kinder

Return values
Node

Diese Node

setParent()

Die Eltern-Node einer Node setzen

public setParent(Node $parent) : Node
Parameters
$parent : Node
Return values
Node

Diese Node

setValue()

Den Wert der Node setzen.

public setValue(string $value) : Node
Parameters
$value : string

Wert

Return values
Node

Dieses Objekt

setXML()

Diese Methode analysiert und setzt für das Objekt eine XML-Zeichenkette.

public setXML(string $xml[, string $encoding = null ]) : Document
Parameters
$xml : string

XML-Dokument

$encoding : string = null

Encoding

Return values
Document

Dieses Objekt

truncate()

Löscht alle Kindelemente in dem eine neue NodeListe über die Funktion Node::getNewNodeList() erstellt wird.

public truncate() : Node
Return values
Node

valid()

Implementierung des Iteration Interfaces.

public valid() : boolean
Return values
boolean

Status der Iteration

checkAndAdjustSerialisation()

Dealing with versions

protected checkAndAdjustSerialisation(array $serialization) : array<string|int, mixed>

This method checks an object and ideally repairs older copies. If an old copy cannot be restored be restored, an exception is thrown.

This method must be overridden by the derived classes. be overridden. In the derived class, * the parent method should be called. the parent method should be called.

Parameters
$serialization : array

Daten des serialisiertes Objekts

Tags
throws
UnserializeException

Keine Übereinstimmung

Return values
array<string|int, mixed>

escapeAttributeKey()

protected escapeAttributeKey(string $key) : string
Parameters
$key : string
Return values
string

getChildNodeListByTagName()

getChildNodeListByTagName

protected getChildNodeListByTagName(string $name) : NodeList

Erstellt eine NodeList mit allen Kindelemente der ersten Ebene, die den entsprechenden Tagnamen besitzen.

Parameters
$name : string

Name des Tag

Return values
NodeList

Ergebnisliste

getElementClass()

Element

protected getElementClass(string $tag) : string

Abgeleitete Klassen können diese Methode überschreiben und anhand des Tags prüfen, welche von Node abgeleitete Klasse für die Objekte die mittels Node::parseXMLStruct() verwendet werden soll.

protected function getElementClass($tag) {
  if($tag==='myTag') return '\MyTagClass';
  retrun '\Alvine\Xml\Element'
}

Tritt der Tag myTag auf, so ist die Node nicht vom Type Element, sondern vom Typ MyTagClass. MyTagClass muss von Element abgeleitet sein.

Parameters
$tag : string

Tag der Untersucht wird

Return values
string

Klassenname

getNewNodeList()

Nodelist

protected getNewNodeList() : NodeList

Eigene Nodelist mit erweiterten Funktionen für die Kindelemente bereitstellen

Return values
NodeList

Neue NodeList zur internen Verwendung

getParser()

Liefert ein neues Parser Objekt zurück

protected getParser() : Parser

Diese Funktion wird bei XML Elementen überschrieben und kann zum Beispiel für das setzten eines Namespaces verwendet werden

Wenn die Node die Methode getInjectedParser implementiert hat, wird diese aufgerufen.

protected function getParser(){
 return (new \Alvine\Xml\Parser())->addSearchNamespace('\Alvine\Payment\Amazon\Element\\');
}
Return values
Parser

Parser


        
On this page

Search results