формальная проверка в mvc php - PullRequest
0 голосов
/ 02 июля 2010

Я написал класс проверки. Теперь можно ли расширить класс формы из класса проверки? или даже расширение класса проверки из класса запроса?

Я просто не уверен, как реализовать процесс регистрации нового пользователя в mvc. полностью сбить с толку.

Редактировать: я нашел этот зенд тут:

// application/controllers/GuestbookController.php
  class GuestbookController extends Zend_Controller_Action

  {
      // snipping indexAction()...

      public function signAction()
      {
          $request = $this->getRequest();
          $form    = new Application_Form_Guestbook();

          if ($this->getRequest()->isPost()) {
              if ($form->isValid($request->getPost())) {
                  $comment = new Application_Model_Guestbook($form->getValues());
                  $mapper  = new Application_Model_GuestbookMapper();
                  $mapper->save($comment);
                  return $this->_helper->redirector('index');
              }
          }

          $this->view->form = $form;
      }
  }  

но я не понимаю, как в случае неправильных вводов вы теперь можете вернуться на страницу формы с заполненными полями ввода

$this->view->form = $form;

это просто устанавливает значение, но не перенаправляет на registration.php. так как мне попасть в registration.php после этого

if ($form->isValid($request->getPost())) {
    $comment = new Application_Model_Guestbook($form->getValues());
    $mapper  = new Application_Model_GuestbookMapper();
    $mapper->save($comment);
    return $this->_helper->redirector('index');
}
else {
    // ... do redirect to registration.php and fill input fields with set $_POST
}

1 Ответ

0 голосов
/ 02 июля 2010

Я бы не стал его расширять.Они имеют разные «области» (один вводит данные, а другой проверяет данные) ...

Я бы предложил либо Внедрение зависимости , если вы хотите принудительно выполнить проверку, либо просто опциюустановка объекта проверки при необходимости.Я сделал оба раньше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...