Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Member Functions | Protected Attributes
Converter Class Reference
Inheritance diagram for Converter:
ConverterInterface

Public Member Functions

 __construct (TypeDataExtractorPool $extractorPool)
 
 convert ($source)
 

Protected Member Functions

 parseVarElement (\DOMElement $node)
 

Protected Attributes

 $extractorPool
 

Detailed Description

Definition at line 15 of file Converter.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( TypeDataExtractorPool  $extractorPool)
Parameters
TypeDataExtractorPool$extractorPool

Definition at line 25 of file Converter.php.

26  {
27  $this->extractorPool = $extractorPool;
28  }

Member Function Documentation

◆ convert()

convert (   $source)

Convert dom node tree to array

Parameters
\DOMDocument$source
Returns
array
Exceptions

Implements ConverterInterface.

Definition at line 37 of file Converter.php.

38  {
39  $xpath = new \DOMXPath($source);
40  $output = [];
41  foreach ($xpath->evaluate('/view') as $typeNode) {
42  foreach ($typeNode->childNodes as $childNode) {
43  if ($childNode->nodeType != XML_ELEMENT_NODE) {
44  continue;
45  }
46  $result = $this->parseNodes($childNode);
47  $output = array_merge_recursive($output, $result);
48  }
49  }
50  return $output;
51  }
$source
Definition: source.php:23

◆ parseVarElement()

parseVarElement ( \DOMElement  $node)
protected

Recursive parser for nodes

Parameters
\DOMElement$node
Returns
string|boolean|number|null|[]

Definition at line 96 of file Converter.php.

97  {
98  $result = [];
99  for ($varNode = $node->firstChild; $varNode !== null; $varNode = $varNode->nextSibling) {
100  if ($varNode instanceof \DOMElement && $varNode->tagName == "var") {
101  $varName = $varNode->getAttribute('name');
102  $result[$varName] = $this->parseVarElement($varNode);
103  }
104  }
105  if (!count($result)) {
106  $result = (strtolower($node->nodeValue) !== 'true' && strtolower($node->nodeValue) !== 'false')
107  ? $node->nodeValue
108  : filter_var($node->nodeValue, FILTER_VALIDATE_BOOLEAN);
109  }
110  return $result;
111  }
parseVarElement(\DOMElement $node)
Definition: Converter.php:96

Field Documentation

◆ $extractorPool

$extractorPool
protected

Definition at line 20 of file Converter.php.


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