InitializedBlogPostConstructor.php 782 B

1234567891011121314151617181920
  1. <?php
  2. namespace JMS\Serializer\Tests\Fixtures;
  3. use JMS\Serializer\Construction\UnserializeObjectConstructor;
  4. use JMS\Serializer\DeserializationContext;
  5. use JMS\Serializer\Metadata\ClassMetadata;
  6. use JMS\Serializer\VisitorInterface;
  7. class InitializedBlogPostConstructor extends UnserializeObjectConstructor
  8. {
  9. public function construct(VisitorInterface $visitor, ClassMetadata $metadata, $data, array $type, DeserializationContext $context)
  10. {
  11. if ($type['name'] !== 'JMS\Serializer\Tests\Fixtures\BlogPost') {
  12. return parent::construct($visitor, $metadata, $data, $type);
  13. }
  14. return new BlogPost('This is a nice title.', new Author('Foo Bar'), new \DateTime('2011-07-30 00:00', new \DateTimeZone('UTC')), new Publisher('Bar Foo'));
  15. }
  16. }