public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     $type = $event->getType();
     // If the set type name is not an actual class, but a faked type for which a custom handler exists, we do not
     // modify it with this subscriber. Also, we forgo autoloading here as an instance of this type is already created,
     // so it must be loaded if its a real class.
     $virtualType = !class_exists($type['name'], false);
     if ($object instanceof PersistentCollection) {
         if (!$virtualType) {
             $event->setType('ArrayCollection');
         }
         return;
     }
     if (!$object instanceof Proxy && !$object instanceof ORMProxy) {
         return;
     }
     // following lines are commented to stop lazy loading associations
     //		if(!$object->__isInitialized()){
     //			$object->__load();
     //		}
     if (!$virtualType) {
         $event->setType(get_parent_class($object));
     }
 }
 /**
  * {@InheritDoc}
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     $type = $event->getType();
     // If the set type name is not an actual class, but a faked type for which a custom handler exists, we do not
     // modify it with this subscriber.
     // Also, we forgo autoloading here as an instance of this type is already created,
     // so it must be loaded if its a real class.
     $virtualType = !class_exists($type['name'], false);
     if ($object instanceof PersistentCollection || $object instanceof MongoDBPersistentCollection || $object instanceof PHPCRPersistentCollection) {
         if (!$virtualType) {
             $event->setType('ArrayCollection');
         }
         return;
     }
     if (!$object instanceof Proxy && !$object instanceof ORMProxy) {
         return;
     }
     if ($this->enableLazyLoading) {
         $object->__load();
     }
     if (!$virtualType) {
         if ($object->__isInitialized()) {
             $event->setType(get_parent_class($object));
         } else {
             $event->setType(SerializerProxyType::class, array('id' => $object->getId()));
         }
     }
 }
Пример #3
0
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     if ($object instanceof PersistentCollection) {
         $event->setType('ArrayCollection');
         return;
     }
     if (!$object instanceof Proxy && !$object instanceof ORMProxy) {
         return;
     }
     $object->__load();
     $event->setType(get_parent_class($object));
 }
Пример #4
0
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     if ($object instanceof Structure) {
         $event->setType(Structure::class);
     }
 }
Пример #5
0
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     if ($object instanceof LazyLoadingInterface) {
         $event->setType(ClassNameInflector::getUserClassName(get_class($object)));
     }
 }
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     if ($object instanceof NodeInterface) {
         $event->setType('PHPCR\\NodeInterface');
     }
 }
Пример #7
0
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     if ($object instanceof ExtensionContainer) {
         $event->setType(ExtensionContainer::class);
     }
 }
 /**
  * @param PreSerializeEvent $event
  */
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     if ($object instanceof PuliResource) {
         $event->setType('Puli\\Repository\\Api\\Resource\\PuliResource');
     }
 }
 public function onPreSerialize(PreSerializeEvent $event)
 {
     $object = $event->getObject();
     $type = $event->getType();
     // If the set type name is not an actual class, but a faked type for which a custom handler exists, we do not
     // modify it with this subscriber. Also, we forgo autoloading here as an instance of this type is already created,
     // so it must be loaded if its a real class.
     if (!class_exists($type['name'], false)) {
         return;
     }
     if ($object instanceof PersistentCollection || $object instanceof MongoDBPersistentCollection || $object instanceof PHPCRPersistentCollection) {
         $event->setType('ArrayCollection');
         return;
     }
     if (!$object instanceof Proxy && !$object instanceof ORMProxy) {
         return;
     }
     $object->__load();
     $event->setType(get_parent_class($object));
 }
 public function onPreSerialize(PreSerializeEvent $event)
 {
     /** @var object $object */
     $object = $event->getObject();
     if (!is_object($object)) {
         return;
     }
     $type = $event->getType();
     $polymorphicTypes = array('Xabbuh\\XApi\\Model\\Actor', 'Xabbuh\\XApi\\Model\\Object');
     if (in_array($type['name'], $polymorphicTypes)) {
         $event->setType(get_class($object));
     }
 }
 /**
  * @param PreSerializeEvent $event
  */
 public function onSerializerPreSerialize(PreSerializeEvent $event)
 {
     $event->setType($this->typeName);
 }