当前位置: 首页>>代码示例>>PHP>>正文


PHP View::setSerializationContext方法代码示例

本文整理汇总了PHP中FOS\RestBundle\View\View::setSerializationContext方法的典型用法代码示例。如果您正苦于以下问题:PHP View::setSerializationContext方法的具体用法?PHP View::setSerializationContext怎么用?PHP View::setSerializationContext使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在FOS\RestBundle\View\View的用法示例。


在下文中一共展示了View::setSerializationContext方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getCountryAction

 /**
  * Информация о стране по id
  *
  * @param Country $country
  *
  * @Rest\Get("countries/{id}", requirements={"id"="\d+"})
  * @ParamConverter("country", class="VifeedGeoBundle:Country")
  * @ApiDoc(
  *     section="Campaign API",
  *     requirements={
  *       {"name"="id", "dataType"="integer", "requirement"="\d+", "description"="id страны"}
  *     },
  *     output={
  *          "class"="Vifeed\GeoBundle\Entity\Country",
  *          "groups"={"default"}
  *     },
  *     statusCodes={
  *         200="Returned when successful",
  *         403="Returned when the user is not authorized to use this method",
  *         404="Returned when campaign not found"
  *     }
  * )
  *
  * @return Response
  */
 public function getCountryAction(Country $country)
 {
     $context = new SerializationContext();
     $context->setGroups(['default']);
     $view = new View($country);
     $view->setSerializationContext($context);
     return $this->handleView($view);
 }
开发者ID:bzis,项目名称:zomba,代码行数:33,代码来源:CountryController.php

示例2: getUserAction

 /**
  * Информация о юзере
  *
  * @ApiDoc(
  *     section="User API",
  *     output={
  *          "class"="Vifeed\UserBundle\Entity\User",
  *          "groups"={"user"}
  *     },
  *     statusCodes={
  *         200="Returned when successful",
  *         403="Returned when the user is not authorized to use this method"
  *     }
  * )
  *
  * @Rest\Get("users/current")
  *
  * @return Response
  */
 public function getUserAction()
 {
     $user = $this->getUser();
     $context = new SerializationContext();
     $context->setGroups(array('user'));
     $view = new View($user);
     $view->setSerializationContext($context);
     return $this->handleView($view);
 }
开发者ID:bzis,项目名称:zomba,代码行数:28,代码来源:UserController.php

示例3: getCitiesByCountryAction

 /**
  * Список городов по стране
  *
  * @param Country $country
  *
  * @Rest\Get("/countries/{id}/cities", requirements={"id"="\d+"})
  * @ParamConverter("country", class="VifeedGeoBundle:Country")
  * @ApiDoc(
  *     section="Geo API",
  *     resource=true,
  *     requirements={
  *       {"name"="id", "dataType"="integer", "requirement"="\d+", "description"="id страны"}
  *     },
  *     output={
  *          "class"="Vifeed\GeoBundle\Entity\City",
  *          "groups"={"default"}
  *     },
  *     statusCodes={
  *         200="Returned when successful",
  *         403="Returned when the user is not authorized to use this method",
  *         404="Returned when country not found"
  *     }
  * )
  *
  * @return Response
  */
 public function getCitiesByCountryAction(Country $country)
 {
     /** @var City[] $data */
     $data = $this->getDoctrine()->getRepository('VifeedGeoBundle:City')->findBy(['country' => $country]);
     $context = new SerializationContext();
     $context->setGroups(['default']);
     $view = new View($data);
     $view->setSerializationContext($context);
     return $this->handleView($view);
 }
开发者ID:bzis,项目名称:zomba,代码行数:36,代码来源:CityController.php

示例4: onKernelView

 /**
  * Renders the parameters and template and initializes a new response object with the
  * rendered content.
  *
  * @param GetResponseForControllerResultEvent $event A GetResponseForControllerResultEvent instance
  */
 public function onKernelView(GetResponseForControllerResultEvent $event)
 {
     $request = $event->getRequest();
     $configuration = $request->attributes->get('_view');
     $view = $event->getControllerResult();
     if (!$view instanceof View) {
         if (!$configuration && !$this->container->getParameter('fos_rest.view_response_listener.force_view')) {
             return parent::onKernelView($event);
         }
         $view = new View($view);
     }
     if ($configuration) {
         if ($configuration->getTemplateVar()) {
             $view->setTemplateVar($configuration->getTemplateVar());
         }
         if (null === $view->getStatusCode() && $configuration->getStatusCode()) {
             $view->setStatusCode($configuration->getStatusCode());
         }
         if ($configuration->getSerializerGroups()) {
             $context = $view->getSerializationContext() ?: new SerializationContext();
             $context->setGroups($configuration->getSerializerGroups());
             $view->setSerializationContext($context);
         }
     }
     if (null === $view->getFormat()) {
         $view->setFormat($request->getRequestFormat());
     }
     $vars = $request->attributes->get('_template_vars');
     if (!$vars) {
         $vars = $request->attributes->get('_template_default_vars');
     }
     $viewHandler = $this->container->get('fos_rest.view_handler');
     if ($viewHandler->isFormatTemplating($view->getFormat())) {
         if (!empty($vars)) {
             $parameters = (array) $viewHandler->prepareTemplateParameters($view);
             foreach ($vars as $var) {
                 if (!array_key_exists($var, $parameters)) {
                     $parameters[$var] = $request->attributes->get($var);
                 }
             }
             $view->setData($parameters);
         }
         $template = $request->attributes->get('_template');
         if ($template) {
             if ($template instanceof TemplateReference) {
                 $template->set('format', null);
             }
             $view->setTemplate($template);
         }
     }
     $response = $viewHandler->handle($view, $request);
     $event->setResponse($response);
 }
开发者ID:shreyans264,项目名称:symfonyPlayGround,代码行数:59,代码来源:ViewResponseListener.php

示例5: serializerAction

 public function serializerAction()
 {
     $article = new Article();
     $article->setPath('/foo');
     $article->setTitle('Example use of the default handlers');
     $article->setBody("Read up on JMSSerializerBundle to see how what other handlers exist ");
     $view = new View();
     $view->setData($article);
     $context = new SerializationContext();
     $context->setVersion('2.1');
     $context->setGroups(array('data'));
     $view->setSerializationContext($context);
     return $this->viewHandler->handle($view);
 }
开发者ID:nashidgit,项目名称:LiipHelloBundle,代码行数:14,代码来源:HelloController.php

示例6: getUserAction

 /**
  * @ApiDoc
  *
  * @param integer $objectId            
  * @throws NotFoundHttpException
  */
 public function getUserAction($userId = 0)
 {
     /* @var $model \App\ModuleObjectsBundle\Model\MapObjectModel */
     $model = $this->container->get('app_module_user.model.user');
     $data = $model->findOneById($userId);
     if (null === $data) {
         throw new NotFoundHttpException();
     }
     $view = new View();
     $view->setData($data);
     $context = new SerializationContext();
     $context->setGroups(array('.all', 'user.get'));
     $view->setSerializationContext($context);
     return $this->viewHandler->handle($view);
 }
开发者ID:amin1984,项目名称:Behat,代码行数:21,代码来源:UsersController.php

示例7: cgetAction

 public function cgetAction(Request $request)
 {
     $adminCode = $request->get('_sonata_admin');
     if (!$adminCode) {
         throw new \RuntimeException(sprintf('There is no `_sonata_admin` defined for the controller `%s` and the current route `%s`', get_class($this), $request->get('_route')));
     }
     $admin = $this->get('sonata.admin.pool')->getAdminByAdminCode($adminCode);
     if (false === $admin->isGranted('LIST')) {
         throw new AccessDeniedException();
     }
     /** @var MenuItemRepository $menuRepository */
     $menuRepository = $this->get('doctrine.orm.entity_manager')->getRepository('GravityMenuBundle:MenuItem');
     $menus = $menuRepository->findBy(['parent' => null], null, 20, 0);
     $view = new View($menus);
     $context = new SerializationContext();
     $context->setSerializeNull(true);
     $context->setGroups(['gravity_api_read']);
     $view->setSerializationContext($context);
     return $this->get('fos_rest.view_handler')->handle($view);
 }
开发者ID:gravity-cms,项目名称:menu-bundle,代码行数:20,代码来源:MenuController.php

示例8: putWithdrawalAction

 /**
  * вывести деньги
  *
  * @ApiDoc(
  *     section="Billing API",
  *     input="Vifeed\PaymentBundle\Form\WithdrawalType",
  *     output={
  *          "class"="Vifeed\PaymentBundle\Entity\Withdrawal",
  *          "groups"={"default"}
  *     },
  *     resource=true,
  *     statusCodes={
  *         201="Returned when successful",
  *         400="Returned when something is wrong",
  *         403="Returned when the user is not authorized to use this method"
  *     }
  * )
  *
  * @return Response
  */
 public function putWithdrawalAction()
 {
     $form = $this->createForm(new WithdrawalType());
     $form->submit($this->get('request'));
     if ($form->isValid()) {
         /** @var Withdrawal $withdrawal */
         $withdrawal = $form->getData();
         if ($withdrawal->getWallet()->getUser() != $this->getUser()) {
             throw new AccessDeniedHttpException('Можно вывести только на свой кошелёк');
         }
         if ($withdrawal->getAmount() > $this->getUser()->getBalance()) {
             $form->get('amount')->addError(new FormError('Недостаточно денег на балансе'));
         } else {
             $userRepo = $this->em->getRepository('VifeedUserBundle:User');
             $this->em->beginTransaction();
             $this->em->lock($this->getUser(), LockMode::PESSIMISTIC_WRITE);
             try {
                 $withdrawal->setUser($this->getUser())->setStatus(Withdrawal::STATUS_CREATED);
                 $this->em->persist($withdrawal);
                 $userRepo->updateBalance($this->getUser(), -$withdrawal->getAmount());
                 $this->em->flush();
                 $this->em->commit();
             } catch (\Exception $e) {
                 $this->em->rollback();
                 $this->em->close();
                 throw $e;
             }
             $mailer = $this->get('vifeed.mailer');
             $message = $mailer->renderMessage('VifeedPaymentBundle:Email:withdrawal.html.twig', ['withdrawal' => $withdrawal]);
             $mailer->sendMessage('Запрос на вывод средств', $message, $this->container->getParameter('withdrawal.notification.email'));
             $context = new SerializationContext();
             $context->setGroups(array('default'));
             $view = new View($withdrawal, 201);
             $view->setSerializationContext($context);
         }
     }
     if (!$form->isValid()) {
         $view = new View($form, 400);
     }
     return $this->handleView($view);
 }
开发者ID:bzis,项目名称:zomba,代码行数:61,代码来源:WithdrawalController.php

示例9: handleView

 protected function handleView(View $view)
 {
     $serializeGroups = $this->get('request')->get('serialize', null);
     if (is_null($serializeGroups) === false && strlen($serializeGroups) > 0) {
         $view->setSerializationContext(SerializationContext::create()->setGroups(array($serializeGroups)));
     }
     return parent::handleView($view);
 }
开发者ID:MatthieuCutin,项目名称:ACSEOBaseRestBundle,代码行数:8,代码来源:AbstractRestController.php

示例10: setGrouping

 /**
  * @param string $grouping
  */
 protected function setGrouping($grouping)
 {
     if (false === empty($grouping)) {
         $this->view->setSerializationContext(SerializationContext::create()->setGroups(array($grouping)));
     }
 }
开发者ID:TransformCore,项目名称:HayPersistenceApi,代码行数:9,代码来源:RestfulService.php

示例11: onKernelView

 /**
  * Renders the parameters and template and initializes a new response object with the
  * rendered content.
  *
  * @param GetResponseForControllerResultEvent $event
  */
 public function onKernelView(GetResponseForControllerResultEvent $event)
 {
     $request = $event->getRequest();
     /** @var \FOS\RestBundle\Controller\Annotations\View $configuration */
     $configuration = $request->attributes->get('_view');
     $view = $event->getControllerResult();
     $customViewDefined = true;
     if (!$view instanceof View) {
         if (!$configuration && !$this->container->getParameter('fos_rest.view_response_listener.force_view')) {
             return parent::onKernelView($event);
         }
         $view = new View($view);
         $customViewDefined = false;
     }
     if ($configuration) {
         if ($configuration->getTemplateVar()) {
             $view->setTemplateVar($configuration->getTemplateVar());
         }
         if ($configuration->getStatusCode() && (null === $view->getStatusCode() || Codes::HTTP_OK === $view->getStatusCode())) {
             $view->setStatusCode($configuration->getStatusCode());
         }
         if ($configuration->getSerializerGroups() && !$customViewDefined) {
             $context = $view->getSerializationContext() ?: new SerializationContext();
             $context->setGroups($configuration->getSerializerGroups());
             $view->setSerializationContext($context);
         }
         if ($configuration->getSerializerEnableMaxDepthChecks()) {
             $context = $view->getSerializationContext() ?: new SerializationContext();
             $context->enableMaxDepthChecks();
             $view->setSerializationContext($context);
         }
         $populateDefaultVars = $configuration->isPopulateDefaultVars();
     } else {
         $populateDefaultVars = true;
     }
     if (null === $view->getFormat()) {
         $view->setFormat($request->getRequestFormat());
     }
     $vars = $request->attributes->get('_template_vars');
     if (!$vars && $populateDefaultVars) {
         $vars = $request->attributes->get('_template_default_vars');
     }
     $viewHandler = $this->container->get('fos_rest.view_handler');
     if ($viewHandler->isFormatTemplating($view->getFormat())) {
         if (!empty($vars)) {
             $parameters = (array) $viewHandler->prepareTemplateParameters($view);
             foreach ($vars as $var) {
                 if (!array_key_exists($var, $parameters)) {
                     $parameters[$var] = $request->attributes->get($var);
                 }
             }
             $view->setData($parameters);
         }
         $template = $request->attributes->get('_template');
         if ($template) {
             if ($template instanceof TemplateReference) {
                 $template->set('format', null);
             }
             $view->setTemplate($template);
         }
     }
     $response = $viewHandler->handle($view, $request);
     $event->setResponse($response);
 }
开发者ID:juliettemijeon,项目名称:BDDProducts,代码行数:70,代码来源:ViewResponseListener.php

示例12: putCampaignsAction

 /**
  * Создать новую кампанию
  *
  * @ApiDoc(
  *     section="Campaign API",
  *     input="Vifeed\CampaignBundle\Form\CampaignType",
  *     output={
  *          "class"="Vifeed\CampaignBundle\Entity\Campaign",
  *          "groups"={"own"}
  *     },
  *     statusCodes={
  *         201="Returned when successful",
  *         400="Returned when the something was wrong",
  *         403="Returned when the user is not authorized to use this method"
  *     }
  * )
  *
  * @return Response
  */
 public function putCampaignsAction()
 {
     if ($this->getUser()->getType() != User::TYPE_ADVERTISER) {
         throw new AccessDeniedHttpException('Вы не можете создавать кампании');
     }
     $form = $this->createCampaignForm();
     if ($form->isValid()) {
         /** @var Campaign $campaign */
         $campaign = $form->getData();
         $campaign->setUser($this->getUser());
         $this->campaignManager->save($campaign);
         $view = new View($campaign, 201);
         $context = new SerializationContext();
         $context->setGroups(['own']);
         $view->setSerializationContext($context);
     } else {
         $view = new View($form, 400);
     }
     return $this->handleView($view);
 }
开发者ID:bzis,项目名称:zomba,代码行数:39,代码来源:CampaignController.php

示例13: setSerializationContext

 /**
  * Set serialization groups and exclusion strategies
  *
  * @param \FOS\RestBundle\View\View $view
  *
  * @return void
  */
 protected function setSerializationContext(&$view)
 {
     $context = SerializationContext::create();
     if (!empty($this->serializerGroups)) {
         $context->setGroups($this->serializerGroups);
     }
     //Only include FormEntity properties for the top level entity and not the associated entities
     $context->addExclusionStrategy(new PublishDetailsExclusionStrategy());
     //include null values
     $context->setSerializeNull(true);
     $view->setSerializationContext($context);
 }
开发者ID:Yame-,项目名称:mautic,代码行数:19,代码来源:CommonApiController.php

示例14: doExecute

 /**
  * @param Response     $response
  * @param ParameterBag $parameterBag
  * @return bool|void
  */
 protected function doExecute(Response $response, ParameterBag $parameterBag)
 {
     /** @var Request $request */
     /** @var AbstractType $formType */
     /** @var object $entity */
     /** @var bool $cleanForm */
     /** @var bool $cleanRequestData */
     /** @var bool $getContent */
     /** @var array $formOptions */
     /** @var SerializationContext $serializationContext */
     /** @var \Closure $onPreValidation */
     /** @var \Closure $onPostValidation */
     /** @var \Closure $onPostPersist */
     /** @var \Closure $onSuccess */
     /** @var \Closure $onFailure  */
     $request = $parameterBag->get('request');
     $formType = $parameterBag->get('formType');
     $entity = $parameterBag->get('entity');
     $cleanForm = $parameterBag->get('cleanForm');
     $cleanRequestData = $parameterBag->get('cleanRequestData', true);
     $getContent = $parameterBag->get('getContent');
     $formOptions = $parameterBag->get('formOptions', array());
     $serializationContext = $parameterBag->get('serializationContext');
     $onPreValidation = $parameterBag->get('onPreValidation');
     $onPostValidation = $parameterBag->get('onPostValidation');
     $onPostPersist = $parameterBag->get('onPostPersist');
     $onSuccess = $parameterBag->get('onSuccess');
     $onFailure = $parameterBag->get('onFailure ');
     $view = new View();
     $httpResponse = $view->getResponse();
     $requestData = array_merge($request->request->all(), $request->files->all());
     if ($serializationContext) {
         $view->setSerializationContext($serializationContext);
     }
     $form = $this->getFormFactory()->createNamed(null, get_class($formType), $entity, array_merge(array('csrf_protection' => false), $formOptions));
     if ($cleanRequestData) {
         $requestData = $this->cleanRequestData($requestData, $form);
     }
     if ($cleanForm) {
         $this->cleanForm($requestData, $form);
     }
     $this->prepareFormCollections($request, $form);
     /**
      * Pre validation
      */
     $this->onPreValidation($request, $form, $entity, $httpResponse);
     if ($onPreValidation instanceof \Closure) {
         $onPreValidation($request, $form, $entity, $httpResponse);
     }
     if ($httpResponse->getStatusCode() != HttpResponse::HTTP_OK) {
         $response->response = $view;
         return true;
     }
     $form->submit($requestData);
     if ($form->isValid()) {
         if ($onPostValidation instanceof \Closure) {
             $onPostValidation($request, $form, $entity, $httpResponse);
             if ($httpResponse->getStatusCode() != HttpResponse::HTTP_OK) {
                 $response->response = $view;
                 return true;
             }
         }
         $isEditAction = $entity->getId();
         $statusCode = $isEditAction ? HttpResponse::HTTP_OK : HttpResponse::HTTP_CREATED;
         /** @var \Doctrine\Common\Persistence\ObjectManager $em */
         $em = $this->getDoctrine()->getManager();
         $em->persist($entity);
         if ($onPostPersist instanceof \Closure) {
             $onPostPersist($request, $form, $entity, $httpResponse);
         }
         $em->flush();
         $httpResponse->setStatusCode($statusCode);
         if ($isEditAction) {
             if ($getContent) {
                 $em->refresh($entity);
                 $view->setData($entity);
             }
         } else {
             $view->setData($entity->getId());
         }
         if ($onSuccess instanceof \Closure) {
             $onSuccess($request, $form, $entity, $httpResponse);
         }
         $response->response = $view;
         return true;
     }
     if ($onFailure instanceof \Closure) {
         $onFailure($request, $form, $entity, $httpResponse);
         $response->response = $view;
         return true;
     }
     $response->response = $form;
     return false;
 }
开发者ID:glavweb,项目名称:GlavwebRestBundle,代码行数:99,代码来源:RestFormAction.php

示例15: getWalletsAction

 /**
  * Все кошельки юзера
  *
  * @ApiDoc(
  *     section="Billing API",
  *     output={
  *          "class"="Vifeed\PaymentBundle\Entity\Wallet",
  *          "groups"={"default"}
  *     },
  *     statusCodes={
  *         200="Returned when successful",
  *         403="Returned when the user is not authorized to use this method"
  *     }
  * )
  *
  * @return Response
  */
 public function getWalletsAction()
 {
     $data = $this->em->getRepository('VifeedPaymentBundle:Wallet')->getWalletsDataByUser($this->getUser());
     $wallets = [];
     $walletData = [];
     foreach ($data as $row) {
         /** @var Wallet $wallet */
         $wallet = $row[0];
         $wallets[] = $wallet;
         unset($row[0]);
         $walletData[$wallet->getId()] = $row;
     }
     $context = new SerializationContext();
     $context->setGroups(['default'])->setAttribute('wallet_data', $walletData);
     $view = new View($wallets);
     $view->setSerializationContext($context);
     return $this->handleView($view);
 }
开发者ID:bzis,项目名称:zomba,代码行数:35,代码来源:WalletController.php


注:本文中的FOS\RestBundle\View\View::setSerializationContext方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。