public function serialize(VisitorInterface $visitor, $data, $type, &$handled) { if ($data instanceof ConstraintViolationList) { if ($visitor instanceof XmlSerializationVisitor) { $handled = true; if (null === $visitor->document) { $visitor->document = $visitor->createDocument(); } foreach ($data as $violation) { $this->serialize($visitor, $violation, null, $visited); } } } else { if ($data instanceof ConstraintViolation) { if ($visitor instanceof XmlSerializationVisitor) { $handled = true; if (null === $visitor->document) { $visitor->document = $visitor->createDocument(null, null, false); $visitor->document->appendChild($violationNode = $visitor->document->createElement('violation')); $visitor->setCurrentNode($violationNode); } else { $visitor->getCurrentNode()->appendChild($violationNode = $visitor->document->createElement('violation')); } $violationNode->setAttribute('property_path', $data->getPropertyPath()); $violationNode->appendChild($messageNode = $visitor->document->createElement('message')); $messageNode->appendChild($visitor->document->createCDATASection($data->getMessage())); return; } else { if ($visitor instanceof GenericSerializationVisitor) { $handled = true; $violation = array('property_path' => $data->getPropertyPath(), 'message' => $data->getMessage()); if (null === $visitor->getRoot()) { $visitor->setRoot($violation); } return $violation; } } } } return; }
public function serialize(VisitorInterface $visitor, $data, $type, &$visited) { if (!$data instanceof \DateTime) { return; } if ($visitor instanceof XmlSerializationVisitor) { if (null === $visitor->document) { $visitor->document = $visitor->createDocument(null, null, true); } $visited = true; return $visitor->document->createTextNode($data->format($this->format)); } else { if ($visitor instanceof GenericSerializationVisitor) { $visited = true; return $data->format($this->format); } else { if ($visitor instanceof YamlSerializationVisitor) { $visited = true; return Inline::dump($data->format($this->format)); } } } }
public function serialize(VisitorInterface $visitor, $data, $type, &$handled) { if ($data instanceof Form) { if ($visitor instanceof XmlSerializationVisitor) { $handled = true; if (null === $visitor->document) { $visitor->document = $visitor->createDocument(null, null, false); $visitor->document->appendChild($formNode = $visitor->document->createElement('form')); $visitor->setCurrentNode($formNode); } else { $visitor->getCurrentNode()->appendChild($formNode = $visitor->document->createElement('form')); } $formNode->setAttribute('name', $data->getName()); $formNode->appendChild($errorsNode = $visitor->document->createElement('errors')); foreach ($data->getErrors() as $error) { $errorNode = $visitor->document->createElement('entry'); $errorNode->appendChild($this->serialize($visitor, $error, null, $visited)); $errorsNode->appendChild($errorNode); } foreach ($data->getChildren() as $child) { if (null !== ($node = $this->serialize($visitor, $child, null, $visited))) { $formNode->appendChild($node); } } return; } else { if ($visitor instanceof GenericSerializationVisitor) { $handled = true; $isRoot = null === $visitor->getRoot(); $form = $errors = array(); foreach ($data->getErrors() as $error) { $errors[] = $this->serialize($visitor, $error, null, $visited); } if ($errors) { $form['errors'] = $errors; } $children = array(); foreach ($data->getChildren() as $child) { $children[$child->getName()] = $this->serialize($visitor, $child, null, $visited); } if ($children) { $form['children'] = $children; } if ($isRoot) { $visitor->setRoot($form); } return $form; } } } else { if ($data instanceof FormError) { $handled = true; $message = $this->translator->trans($data->getMessageTemplate(), $data->getMessageParameters(), 'validators'); if ($visitor instanceof XmlSerializationVisitor) { if (null === $visitor->document) { $visitor->document = $visitor->createDocument(null, null, true); } return $visitor->document->createCDATASection($message); } return $message; } } return null; }
public function serialize(VisitorInterface $visitor, $data, $type, &$visited) { if (!$data instanceof Article) { return; } if ($visitor instanceof XmlSerializationVisitor) { $visited = true; if (null === $visitor->document) { $visitor->document = $visitor->createDocument(null, null, false); } $visitor->document->appendChild($visitor->document->createElement($this->element, $this->value)); } elseif ($visitor instanceof JsonSerializationVisitor) { $visited = true; $visitor->setRoot(array($this->element => $this->value)); } elseif ($visitor instanceof YamlSerializationVisitor) { $visited = true; $visitor->writer->writeln(Inline::dump($this->element) . ': ' . Inline::dump($this->value)); } }