ContextualNamingStrategy.php 660 B

123456789101112131415161718192021222324
  1. <?php
  2. namespace JMS\Serializer\Tests\Fixtures;
  3. use JMS\Serializer\Context;
  4. use JMS\Serializer\GraphNavigator;
  5. use JMS\Serializer\Metadata\PropertyMetadata;
  6. use JMS\Serializer\Naming\AdvancedNamingStrategyInterface;
  7. /**
  8. * Class ContextualNamingStrategy
  9. *
  10. * Only use this class for testing purpose
  11. */
  12. class ContextualNamingStrategy implements AdvancedNamingStrategyInterface
  13. {
  14. public function getPropertyName(PropertyMetadata $property, Context $context)
  15. {
  16. if ($context->getDirection() == GraphNavigator::DIRECTION_SERIALIZATION) {
  17. return strtoupper($property->name);
  18. }
  19. return ucfirst($property->name);
  20. }
  21. }