Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class UserSerializationSubscriber implements EventSubscriberInterface
- {
- private $coreTwigExtension;
- private $user;
- public function setCoreTwigExtension(TwigExtension $coreTwigExtension)
- {
- $this->coreTwigExtension = $coreTwigExtension;
- }
- public function setUserService(UserService $user)
- {
- $this->user = $user;
- }
- public static function getSubscribedEvents()
- {
- return array(
- array(
- 'event' => 'serializer.pre_serialize',
- 'method' => 'onObjPreSerialize',
- 'class' => 'SomeBundleEntityEntityClass',
- 'format' => 'json'
- )
- );
- }
- public function onObjPreSerialize(PreSerializeEvent $event)
- {
- $context = $event->getContext();
- $context->attributes->get('groups')->map(
- function(array $groups) use ($event) {
- if (in_array('somegroup', $groups)) {
- $obj= $event->getObject();
- if ($obj->getConfirmedOn()) {
- $contextualDate = $this->coreTwigExtension->getContextualDate($obj->getConfirmedOn());
- $event->getVisitor()->addData('displayConfirmedOn', $contextualDate);
- }
- }
- }
- );
- }
- some_bundle.handler.serialization:
- class: SomeBundleHandlerObjectSerializationSubscriber
- calls:
- - [setCoreTwigExtension, ['@bundle_core.twig.extension']]
- - [setUserService, ['@some_bundle.service.user']]
- tags:
- - { name: jms_serializer.event_subscriber }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement