Form.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Ui\TemplateEngine\Xhtml\Compiler\Element;
  7. use Magento\Framework\DataObject;
  8. use Magento\Framework\View\TemplateEngine\Xhtml\CompilerInterface;
  9. use Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Element\ElementInterface;
  10. /**
  11. * Class Form
  12. */
  13. class Form implements ElementInterface
  14. {
  15. /**
  16. * Compiles the Element node
  17. *
  18. * @param CompilerInterface $compiler
  19. * @param \DOMElement $node
  20. * @param DataObject $processedObject
  21. * @param DataObject $context
  22. * @return void
  23. */
  24. public function compile(
  25. CompilerInterface $compiler,
  26. \DOMElement $node,
  27. DataObject $processedObject,
  28. DataObject $context
  29. ) {
  30. foreach ($this->getChildNodes($node) as $child) {
  31. $compiler->compile($child, $processedObject, $context);
  32. }
  33. }
  34. /**
  35. * Get child nodes
  36. *
  37. * @param \DOMElement $node
  38. * @return \DOMElement[]
  39. */
  40. protected function getChildNodes(\DOMElement $node)
  41. {
  42. $childNodes = [];
  43. foreach ($node->childNodes as $child) {
  44. $childNodes[] = $child;
  45. }
  46. return $childNodes;
  47. }
  48. }