@zer1

MVC: Кто должен заниматься приемом данных с формы контроллер или модель?

Приветствую. Перечитал множество статей по MVC но этот момент остался не ясен. Помогите разобраться с MVC.
  • Вопрос задан
  • 281 просмотр
Решения вопроса 1
erniesto77
@erniesto77
oop, rb, py, php, js
любой запрос на сервер надо принимать контроллером.

В случае с отправкой формы, чаще всего используют такую последовательность:
1 Данные формы отправляются на контроллер
2 С контроллера данные отправляются в модель для обработки (валидации)
3 Модель возвращает обработанные данные или результат обработки на контроллер
4 Контроллер в зависимости от обработки данных выводит html-отображение для клиента
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Skrolea
Моё ИМХО - принимает контроллер данные и передает в модель, где данные проходят валидацию
Ответ написан
Комментировать
@dev400
Контроллер дернул модель, она отправила данные. В $model->save() так же прошла валидация. Yii::$app->request->post() Это сами данные. ContactForm это AR.
public function actionContact()
    {
       $model = new ContactForm();
        if ($model->load(Yii::$app->request->post()) && $model->save()) {
            if ($model->sendEmail(Yii::$app->params['adminEmail'])) {
                Yii::$app->session->setFlash('success', 'Спасибо за ваше письмо. Мы свяжемся с вами в ближайшее время.');
            } else {
                Yii::$app->session->setFlash('error', 'Ошибка отправки почты.');
            }

            return $this->refresh();
        } else {
            return $this->render('contact', ['model' => $model]);
        }

    }
Ответ написан
@asd111
Посмотрите уроки по любому фреймворку. За день всё станет понятно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы