Задать вопрос
@zer1

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

Приветствую. Перечитал множество статей по MVC но этот момент остался не ясен. Помогите разобраться с MVC.
  • Вопрос задан
  • 282 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
erniesto77
@erniesto77
oop, python, 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
Посмотрите уроки по любому фреймворку. За день всё станет понятно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽