FluentDOM\Loader\Json\JsonDOM::transferTo PHP Method

transferTo() protected method

If the current element is an object or array the method is called recursive. The $recursions parameter is used to limit the recursion depth of this function.
protected transferTo ( DOMNode $target, mixed $value, integer $recursions = 100 )
$target DOMNode
$value mixed
$recursions integer
    protected function transferTo(\DOMNode $target, $value, $recursions = 100)
    {
        if ($recursions < 1) {
            return;
        } elseif ($target instanceof \DOMElement || $target instanceof \DOMDocumentFragment) {
            $type = $this->getTypeFromValue($value);
            switch ($type) {
                case self::TYPE_ARRAY:
                    $this->transferArrayTo($target, $value, $this->_recursions - 1);
                    break;
                case self::TYPE_OBJECT:
                    $this->transferObjectTo($target, $value, $this->_recursions - 1);
                    break;
                default:
                    if ($this->_verbose || $type != self::TYPE_STRING) {
                        $target->setAttributeNS(self::XMLNS, 'json:type', $type);
                    }
                    $string = $this->getValueAsString($type, $value);
                    if (is_string($string)) {
                        $target->appendChild($target->ownerDocument->createTextNode($string));
                    }
            }
        }
    }