/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/Config/Converter/Dom.php
51 строка
2 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 17:47
22 окт 2025, 17:47
1b769b7
Код
Авторство
О чём код?
<?php /** * Copyright 2014 Adobe * All Rights Reserved. */ namespace Magento\Framework\Config\Converter; class Dom implements \Magento\Framework\Config\ConverterInterface { const ATTRIBUTES = '__attributes__'; const CONTENT = '__content__'; /** * Convert dom node tree to array * * @param mixed $source * @return array */ public function convert($source) { $nodeListData = []; /** @var $node \DOMNode */ foreach ($source->childNodes as $node) { if ($node->nodeType == XML_ELEMENT_NODE) { $nodeData = []; /** @var $attribute \DOMNode */ foreach ($node->attributes as $attribute) { if ($attribute->nodeType == XML_ATTRIBUTE_NODE) { $nodeData[self::ATTRIBUTES][$attribute->nodeName] = $attribute->nodeValue; } } $childrenData = $this->convert($node); if (is_array($childrenData)) { $nodeData = array_merge($nodeData, $childrenData); } else { $nodeData[self::CONTENT] = $childrenData; } $nodeListData[$node->nodeName][] = $nodeData; } elseif ($node->nodeType == XML_CDATA_SECTION_NODE || $node->nodeType == XML_TEXT_NODE && trim( $node->nodeValue ) != '' ) { return $node->nodeValue; } } return $nodeListData; } }