MediaWiki  1.34.0
PPNode_Hash_Tree Class Reference
Inheritance diagram for PPNode_Hash_Tree:
Collaboration diagram for PPNode_Hash_Tree:

Public Member Functions

 __construct (array $store, $index)
 Construct an object using the data from $store[$index]. More...
 
 __toString ()
 Convert a node to XML, for debugging. More...
 
 getChildren ()
 
 getChildrenOfType ( $name)
 Get an array of the children with a given node name. More...
 
 getFirstChild ()
 Get the first child, or false if there is none. More...
 
 getLength ()
 
 getName ()
 
 getNextSibling ()
 Get the next sibling, or false if there is none. More...
 
 getRawChildren ()
 Get the raw child array. More...
 
 item ( $i)
 
 splitArg ()
 Split a "<part>" node into an associative array containing: More...
 
 splitExt ()
 Split an "<ext>" node into an associative array containing name, attr, inner and close All values in the resulting array are PPNodes. More...
 
 splitHeading ()
 Split an "<h>" node. More...
 
 splitTemplate ()
 Split a "<template>" or "<tplarg>" node. More...
 

Static Public Member Functions

static factory (array $store, $index)
 Construct an appropriate PPNode_Hash_* object with a class that depends on what is at the relevant store index. More...
 
static splitRawArg (array $children)
 Like splitArg() but for a raw child array. More...
 
static splitRawExt (array $children)
 Like splitExt() but for a raw child array. More...
 
static splitRawHeading (array $children)
 Like splitHeading() but for a raw child array. More...
 
static splitRawTemplate (array $children)
 Like splitTemplate() but for a raw child array. More...
 

Public Attributes

 $name
 
const CHILDREN = 1
 The offset of the child list within descriptors, used in some places for readability. More...
 
const NAME = 0
 The offset of the name within descriptors, used in some places for readability. More...
 

Private Attributes

 $index
 The index into $this->store which contains the descriptor of this node. More...
 
 $rawChildren
 The store array for children of this node. More...
 
 $store
 The store array for the siblings of this node, including this node itself. More...
 

Detailed Description

Definition at line 26 of file PPNode_Hash_Tree.php.

Constructor & Destructor Documentation

◆ __construct()

PPNode_Hash_Tree::__construct ( array  $store,
  $index 
)

Construct an object using the data from $store[$index].

The rest of the store array can be accessed via getNextSibling().

Parameters
array$store
int$index

Definition at line 66 of file PPNode_Hash_Tree.php.

References $index, and $store.

Member Function Documentation

◆ __toString()

PPNode_Hash_Tree::__toString ( )

Convert a node to XML, for debugging.

Returns
string

Definition at line 105 of file PPNode_Hash_Tree.php.

References getFirstChild().

◆ factory()

static PPNode_Hash_Tree::factory ( array  $store,
  $index 
)
static

Construct an appropriate PPNode_Hash_* object with a class that depends on what is at the relevant store index.

Parameters
array$store
int$index
Returns
PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|false
Exceptions
MWException

Definition at line 81 of file PPNode_Hash_Tree.php.

References $index, and $store.

Referenced by getChildren(), getChildrenOfType(), getFirstChild(), PPNode_Hash_Text\getNextSibling(), PPNode_Hash_Attr\getNextSibling(), and getNextSibling().

◆ getChildren()

PPNode_Hash_Tree::getChildren ( )
Returns
PPNode_Hash_Array

Implements PPNode.

Definition at line 125 of file PPNode_Hash_Tree.php.

References factory().

◆ getChildrenOfType()

PPNode_Hash_Tree::getChildrenOfType (   $name)

Get an array of the children with a given node name.

Parameters
string$name
Returns
PPNode_Hash_Array

Implements PPNode.

Definition at line 165 of file PPNode_Hash_Tree.php.

References $name, and factory().

◆ getFirstChild()

PPNode_Hash_Tree::getFirstChild ( )

Get the first child, or false if there is none.

Note that this will return a temporary proxy object: different instances will be returned if this is called more than once on the same node.

Returns
PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|false

Implements PPNode.

Definition at line 140 of file PPNode_Hash_Tree.php.

References factory().

Referenced by __toString().

◆ getLength()

PPNode_Hash_Tree::getLength ( )
Returns
bool

Implements PPNode.

Definition at line 186 of file PPNode_Hash_Tree.php.

◆ getName()

PPNode_Hash_Tree::getName ( )
Returns
string

Implements PPNode.

Definition at line 201 of file PPNode_Hash_Tree.php.

References $name.

◆ getNextSibling()

PPNode_Hash_Tree::getNextSibling ( )

Get the next sibling, or false if there is none.

Note that this will return a temporary proxy object: different instances will be returned if this is called more than once on the same node.

Returns
PPNode_Hash_Tree|PPNode_Hash_Attr|PPNode_Hash_Text|false

Implements PPNode.

Definition at line 155 of file PPNode_Hash_Tree.php.

References factory().

◆ getRawChildren()

PPNode_Hash_Tree::getRawChildren ( )

Get the raw child array.

For internal use.

Returns
array

Definition at line 179 of file PPNode_Hash_Tree.php.

References $rawChildren.

◆ item()

PPNode_Hash_Tree::item (   $i)
Parameters
int$i
Returns
bool

Implements PPNode.

Definition at line 194 of file PPNode_Hash_Tree.php.

◆ splitArg()

PPNode_Hash_Tree::splitArg ( )

Split a "<part>" node into an associative array containing:

Exceptions
MWException
Returns
array

Implements PPNode.

Definition at line 214 of file PPNode_Hash_Tree.php.

References splitRawArg().

◆ splitExt()

PPNode_Hash_Tree::splitExt ( )

Split an "<ext>" node into an associative array containing name, attr, inner and close All values in the resulting array are PPNodes.

Inner and close are optional.

Exceptions
MWException
Returns
array

Implements PPNode.

Definition at line 257 of file PPNode_Hash_Tree.php.

References splitRawExt().

◆ splitHeading()

PPNode_Hash_Tree::splitHeading ( )

Split an "<h>" node.

Exceptions
MWException
Returns
array

Implements PPNode.

Definition at line 299 of file PPNode_Hash_Tree.php.

References splitRawHeading().

◆ splitRawArg()

static PPNode_Hash_Tree::splitRawArg ( array  $children)
static

Like splitArg() but for a raw child array.

For internal use only.

Parameters
array$children
Returns
array

Definition at line 223 of file PPNode_Hash_Tree.php.

References CHILDREN, and NAME.

Referenced by splitArg().

◆ splitRawExt()

static PPNode_Hash_Tree::splitRawExt ( array  $children)
static

Like splitExt() but for a raw child array.

For internal use only.

Parameters
array$children
Returns
array

Definition at line 266 of file PPNode_Hash_Tree.php.

Referenced by PPFrame_Hash\expand(), and splitExt().

◆ splitRawHeading()

static PPNode_Hash_Tree::splitRawHeading ( array  $children)
static

Like splitHeading() but for a raw child array.

For internal use only.

Parameters
array$children
Returns
array

Definition at line 311 of file PPNode_Hash_Tree.php.

References CHILDREN.

Referenced by PPFrame_Hash\expand(), and splitHeading().

◆ splitRawTemplate()

static PPNode_Hash_Tree::splitRawTemplate ( array  $children)
static

Like splitTemplate() but for a raw child array.

For internal use only.

Parameters
array$children
Returns
array

Definition at line 344 of file PPNode_Hash_Tree.php.

Referenced by PPFrame_Hash\expand(), and splitTemplate().

◆ splitTemplate()

PPNode_Hash_Tree::splitTemplate ( )

Split a "<template>" or "<tplarg>" node.

Exceptions
MWException
Returns
array

Definition at line 335 of file PPNode_Hash_Tree.php.

References splitRawTemplate().

Member Data Documentation

◆ $index

PPNode_Hash_Tree::$index
private

The index into $this->store which contains the descriptor of this node.

Definition at line 45 of file PPNode_Hash_Tree.php.

Referenced by __construct(), and factory().

◆ $name

PPNode_Hash_Tree::$name

Definition at line 28 of file PPNode_Hash_Tree.php.

Referenced by getChildrenOfType(), and getName().

◆ $rawChildren

PPNode_Hash_Tree::$rawChildren
private

The store array for children of this node.

It is "raw" in the sense that nodes are two-element arrays ("descriptors") rather than PPNode_Hash_* objects.

Definition at line 35 of file PPNode_Hash_Tree.php.

Referenced by getRawChildren().

◆ $store

PPNode_Hash_Tree::$store
private

The store array for the siblings of this node, including this node itself.

Definition at line 40 of file PPNode_Hash_Tree.php.

Referenced by __construct(), and factory().

◆ CHILDREN

const PPNode_Hash_Tree::CHILDREN = 1

The offset of the child list within descriptors, used in some places for readability.

Definition at line 57 of file PPNode_Hash_Tree.php.

Referenced by PPNode_Hash_Attr\__construct(), splitRawArg(), and splitRawHeading().

◆ NAME

const PPNode_Hash_Tree::NAME = 0

The offset of the name within descriptors, used in some places for readability.

Definition at line 51 of file PPNode_Hash_Tree.php.

Referenced by PPNode_Hash_Attr\__construct(), and splitRawArg().


The documentation for this class was generated from the following file: