![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/vendor/jms/serializer/src/Handler/ |
<?php declare(strict_types=1); namespace JMS\Serializer\Handler; use JMS\Serializer\GraphNavigatorInterface; use JMS\Serializer\Metadata\StaticPropertyMetadata; use JMS\Serializer\SerializationContext; use JMS\Serializer\Visitor\SerializationVisitorInterface; /** * @author Asmir Mustafic <[email protected]> */ final class StdClassHandler implements SubscribingHandlerInterface { /** * {@inheritdoc} */ public static function getSubscribingMethods() { $methods = []; $formats = ['json', 'xml']; foreach ($formats as $format) { $methods[] = [ 'direction' => GraphNavigatorInterface::DIRECTION_SERIALIZATION, 'type' => \stdClass::class, 'format' => $format, 'method' => 'serializeStdClass', ]; } return $methods; } /** * @return mixed */ public function serializeStdClass(SerializationVisitorInterface $visitor, \stdClass $stdClass, array $type, SerializationContext $context) { $classMetadata = $context->getMetadataFactory()->getMetadataForClass('stdClass'); $visitor->startVisitingObject($classMetadata, $stdClass, ['name' => 'stdClass']); foreach ((array) $stdClass as $name => $value) { $metadata = new StaticPropertyMetadata('stdClass', $name, $value); $visitor->visitProperty($metadata, $value); } return $visitor->endVisitingObject($classMetadata, $stdClass, ['name' => 'stdClass']); } }