Как передать во View результат работы Model? Метод в контроллере:public function createUser()
{
$model = new UserModel();
$result_create = $model->createUser($POST = '');
$view = new afterCreateView();

// если удачно то
$result = $view->succsessUserCreate($result_create);

// если неудачно то
$result = $view->failUserCreate($result_create);

return $result;
}
Модель валидирует данные из POST и если всё в порядке создаёт юзера. В каком виде лучше возвращать данные из модели в контроллер что бы удобно было вызвать разные вьюшки в зависимости от резуьтата? Мне пока приходит в голову только идея с массивом вида:$res = array(
'error' => 1,
'error_msg' => 'Такой e-mail уже есть в БД'
);
Т.е. контролле проверяет если $res['error'] === 0 то вызываем вьюшку успеха, если нет, то вьюшку провала. Сообщение об ошибке можно не в этот массив, а в сессию положить.

21 Авг 2019 в 07:01
269 +1
0
Ответы
1

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

Вы можете дополнить ваш массив $res информацией, которую необходимо передать во View, например:

$res = array(
'error' => 1,
'error_msg' => 'Такой e-mail уже есть в БД'
'user_data' => $user_data // данные созданного пользователя, если операция прошла успешно
);

Таким образом, в контроллере вы сможете проверить значения в массиве $res и вызвать соответствующие представления. Кроме того, вы можете использовать сессии для передачи сообщений об ошибках или других данных между контроллером и представлением.

Например, в сессии поключается сообщение об ошибке:

$_SESSION['error_msg'] = 'Такой e-mail уже есть в БД';

И во View вы сможете получить это сообщение:

$error_msg = $_SESSION['error_msg'];

Такой подход позволит удобно организовать обработку данных из модели в контроллере и дальнейший вывод информации в представлении.

20 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 91 855 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир