コード例 #1
0
 /**
  * Action logic
  *
  * @param RequestInterface $request Request
  * @param ResponseInterface $response Response
  * @return ResponseInterface
  */
 public function run(RequestInterface $request, ResponseInterface $response)
 {
     /** @var \Psr\Http\Message\ServerRequestInterface $request */
     /** @var \Doctrine\ORM\EntityManager $entityManager */
     // recovering the user data and validate
     $user = $this->getUser($request->getAttribute('id'));
     $validator = new UserValidator('modify', $request, $this->container);
     if (!$validator->validate()) {
         return new ValidationJsonResponse($validator->errors());
     }
     // update the user
     $entityManager = $this->container->get('EntityManager');
     $data = $request->getParsedBody();
     foreach ($data as $field => $value) {
         $user->{'set' . ucfirst($field)}($value);
     }
     $entityManager->flush();
     return new JsonResponse(['status' => 'updated'], 200);
 }
コード例 #2
0
 /**
  * Action logic
  *
  * @param RequestInterface $request Petición
  * @param ResponseInterface $response Respuesta
  * @return ResponseInterface
  */
 public function run(RequestInterface $request, ResponseInterface $response)
 {
     /** @var \Psr\Http\Message\ServerRequestInterface $request */
     /** @var \Doctrine\ORM\EntityManager $entityManager */
     // data is validated
     $validator = new UserValidator('new', $request, $this->container);
     if (!$validator->validate()) {
         return new ValidationJsonResponse($validator->errors());
     }
     // insert the user
     $entityManager = $this->container->get('EntityManager');
     $data = $request->getParsedBody();
     $user = new User();
     foreach ($data as $field => $value) {
         $user->{'set' . ucfirst($field)}($value);
     }
     $entityManager->persist($user);
     $entityManager->flush();
     return new JsonResponse(['status' => 'created'], 201);
 }