BlogPost.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. use JMS\SerializerBundle\Metadata\ClassMetadata;
  3. use JMS\SerializerBundle\Metadata\PropertyMetadata;
  4. $metadata = new ClassMetadata('JMS\SerializerBundle\Tests\Fixtures\BlogPost');
  5. $metadata->xmlRootName = 'blog-post';
  6. $pMetadata = new PropertyMetadata('JMS\SerializerBundle\Tests\Fixtures\BlogPost', 'title');
  7. $pMetadata->type = 'string';
  8. $pMetadata->groups = array('comments','post');
  9. $metadata->addPropertyMetadata($pMetadata);
  10. $pMetadata = new PropertyMetadata('JMS\SerializerBundle\Tests\Fixtures\BlogPost', 'createdAt');
  11. $pMetadata->type = 'DateTime';
  12. $pMetadata->xmlAttribute = true;
  13. $metadata->addPropertyMetadata($pMetadata);
  14. $pMetadata = new PropertyMetadata('JMS\SerializerBundle\Tests\Fixtures\BlogPost', 'published');
  15. $pMetadata->type = 'boolean';
  16. $pMetadata->serializedName = 'is_published';
  17. $pMetadata->groups = array('post');
  18. $pMetadata->xmlAttribute = true;
  19. $metadata->addPropertyMetadata($pMetadata);
  20. $pMetadata = new PropertyMetadata('JMS\SerializerBundle\Tests\Fixtures\BlogPost', 'comments');
  21. $pMetadata->type = 'ArrayCollection<JMS\SerializerBundle\Tests\Fixtures\Comment>';
  22. $pMetadata->xmlCollection = true;
  23. $pMetadata->xmlCollectionInline = true;
  24. $pMetadata->xmlEntryName = 'comment';
  25. $pMetadata->groups = array('comments');
  26. $metadata->addPropertyMetadata($pMetadata);
  27. $pMetadata = new PropertyMetadata('JMS\SerializerBundle\Tests\Fixtures\BlogPost', 'author');
  28. $pMetadata->type = 'JMS\SerializerBundle\Tests\Fixtures\Author';
  29. $pMetadata->groups = array('post');
  30. $metadata->addPropertyMetadata($pMetadata);
  31. return $metadata;