Рекомендации MVC для процесса создания / подтверждения / сохранения - PullRequest
0 голосов
/ 16 декабря 2011

У меня есть addAction вроде этого:

public function addAction(Request $request)
{
    $object = new Object();
    $object->setAttrib('foo');

    if($object->isValid())
    {
        $session->set('_object', $object);
        return $this->redirect('confirmAction');
    }
}

и в validAction:

public function confirmAction($confirm = 'not_confirmed')
{
    if($confirm == 'confirm')
    {
        $object = $session->get('_object');
        if($object->isValid())
        {
            $entityManager->persist($object);
            $session->remove('_object');
            return $this->redirect('listAction');
        }
    }

    $this->renderTemplate('with confirm link');
}

Мне не нравится часть $ session-> set.Какова лучшая практика для этого создания / подтверждения / сохранения вещей?

1 Ответ

0 голосов
/ 16 декабря 2011

Ну, вы должны спросить себя, хотите ли вы использовать JavaScript.Блок подтверждения был бы, на мой взгляд, наиболее разумным решением, поскольку клиент не совершает повторного обращения к серверу.

Если по какой-то причине вы не хотите использовать JavaScript, ваш методпутьВместо использования $session->set('...'); вы можете использовать $session->setFlash('...'), который сохранит значение в сеансе только для одного запроса и удалит его позже.

Если пользователь решает не подтверждать действие, вы можете использовать $session->setFlash('...') еще раз для отображения предыдущего состояния формы.Использование этого метода лучше, потому что у вас не будет никаких оставшихся значений сеанса, просто висящих там.

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