ObjectWithVirtualProperties.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace JMS\Serializer\Tests\Fixtures;
  3. use JMS\Serializer\Annotation\AccessorOrder;
  4. use JMS\Serializer\Annotation\SerializedName;
  5. use JMS\Serializer\Annotation\Type;
  6. use JMS\Serializer\Annotation\VirtualProperty;
  7. use JMS\Serializer\Annotation\SkipWhenEmpty;
  8. /**
  9. * @AccessorOrder("custom", custom = {"prop_name", "existField", "foo" })
  10. */
  11. class ObjectWithVirtualProperties
  12. {
  13. /**
  14. * @Type("string")
  15. */
  16. protected $existField = 'value';
  17. /**
  18. *
  19. * @VirtualProperty
  20. */
  21. public function getVirtualValue()
  22. {
  23. return 'value';
  24. }
  25. /**
  26. * @VirtualProperty
  27. * @SerializedName("test")
  28. */
  29. public function getVirtualSerializedValue()
  30. {
  31. return 'other-name';
  32. }
  33. /**
  34. * @VirtualProperty
  35. * @Type("integer")
  36. */
  37. public function getTypedVirtualProperty()
  38. {
  39. return '1';
  40. }
  41. /**
  42. * @VirtualProperty
  43. * @SkipWhenEmpty()
  44. */
  45. public function getEmptyArray()
  46. {
  47. return [];
  48. }
  49. }