/**
  * Lists all Events entities.
  *
  */
 public function indexAction()
 {
     $em = $this->getDoctrine()->getManager();
     $entities = $em->getRepository('AgendaBundle:Events')->findAll();
     $normalizer = new ObjectNormalizer();
     $encoder = new JsonEncoder();
     $dateCallback = function ($dateTime) {
         return $dateTime instanceof \DateTime ? $dateTime->format(\DateTime::ISO8601) : '';
     };
     $userCallback = function ($user) {
         return array("email" => $user->getEmail(), "roles" => $user->getRoles(), "id_organisme" => $user->getIdOrganisme()->getId());
     };
     $normalizer->setCallbacks(array('start' => $dateCallback, 'end' => $dateCallback, 'idUser' => (object) $userCallback));
     $serializer = new Serializer(array($normalizer), array($encoder));
     $jsonObject = $serializer->serialize($entities, 'json');
     $response = new Response();
     $response->setContent($jsonObject);
     return $response;
 }
 /**
  * Cette action permet de retourner les évenements en Json
  * @return Response
  */
 public function indexAction()
 {
     $em = $this->getDoctrine()->getManager();
     $entities = $em->getRepository('WcsWildResaBundle:Events')->findAll();
     $normalizer = new ObjectNormalizer();
     $encoder = new JsonEncoder();
     $dateCallback = function ($dateTime) {
         return $dateTime instanceof \DateTime ? $dateTime->format(\DateTime::ISO8601) : '';
     };
     // ne conserver que le type de la machine
     $machineCallback = function ($machines) {
         $result = [];
         foreach ($machines as $mach) {
             $result[] = $mach->getTypeMachine();
         }
         return $result;
     };
     $normalizer->setCallbacks(array('start' => $dateCallback, 'end' => $dateCallback, 'machines' => $machineCallback));
     $serializer = new Serializer(array($normalizer), array($encoder));
     $jsonObject = $serializer->serialize($entities, 'json');
     return new Response($jsonObject);
 }
 /**
  * @expectedException \InvalidArgumentException
  */
 public function testUncallableCallbacks()
 {
     $this->normalizer->setCallbacks(array('bar' => null));
     $obj = new ObjectConstructorDummy('baz', 'quux', true);
     $this->normalizer->normalize($obj, 'any');
 }
 public function benchSymfonyObjectNormalizer()
 {
     $normalizer = new ObjectNormalizer();
     $normalizer->setCallbacks(array('createdAt' => function (\DateTime $date) {
         return $date->format(\DateTime::RFC3339);
     }));
     $normalizers = array($normalizer);
     $encoders = array(new JsonEncoder());
     $symfony = new Serializer($normalizers, $encoders);
     return $symfony->serialize($this->data, 'json');
 }