public function editAction() { $id = (int) $this->params()->fromRoute('id', 0); if (!$id) { return $this->redirect()->toRoute('users', ['action' => 'add']); } try { $user = $this->getUsersTable()->getUser($id); } catch (\Exception $ex) { return $this->redirect()->toRoute('users', ['action' => 'index']); } $form = new UserForm(); $form->bind($user); $form->get('submit')->setAttribute('value', 'Edit'); $request = $this->getRequest(); if ($request->isPost()) { $form->setInputFilter($user->getInputFilter()); $form->setData($request->getPost()); if ($form->isValid()) { $this->getUsersTable()->saveUser($user); return $this->redirect()->toRoute('users'); } } return ['id' => $id, 'form' => $form]; }