renderer = $renderer; $this->auth = $auth; $this->flashService = $flashService; $this->userTable = $userTable; } public function __invoke(ServerRequestInterface $request) { //$user = $this->auth->getUser(); $params = $request->getParsedBody(); $url_part = explode('/',$_SERVER['HTTP_REFERER']); $chemin = $url_part[3].'/'.$url_part[4]; $validator = (new Validator($params)) ->required('firstname', 'lastname'); if ($validator->isValid()) { $userParams = [ 'firstname' => $params['firstname'], 'lastname' => $params['lastname'] ]; $this->userTable->update($params['id_user'], $userParams); $this->flashService->success("Le compte ".$params['username']." a bien été mis à jour"); return new RedirectResponse($chemin); //return new RedirectResponse($request->getUri()->getPath()); } $errors = $validator->getErrors(); return $this->renderer->render('@account/account', compact('user', 'errors')); } }