Как передать во 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 то вызываем вьюшку успеха, если нет, то вьюшку провала. Сообщение об ошибке можно не в этот массив, а в сессию положить.
Да, использование массива для передачи данных из модели в контроллер и дальнейшего вызова соответствующих представлений в зависимости от результата является распространенным и удобным подходом.
Вы можете дополнить ваш массив $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'];
Такой подход позволит удобно организовать обработку данных из модели в контроллере и дальнейший вывод информации в представлении.
Да, использование массива для передачи данных из модели в контроллер и дальнейшего вызова соответствующих представлений в зависимости от результата является распространенным и удобным подходом.
Вы можете дополнить ваш массив $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'];
Такой подход позволит удобно организовать обработку данных из модели в контроллере и дальнейший вывод информации в представлении.