Я изучаю различные типы mvc и n-уровневой архитектуры. но я не могу понять, как модель передает данные для просмотра в MVC?
Например, в CakePHP у меня есть контроллер и действия, как это:
function edit($id = null) {
if (!$id && empty($this->data)) {
$this->Session->setFlash(__('Invalid user', true));
$this->redirect(array('action' => 'index'));
}
if (!empty($this->data)) {
if ($this->User->save($this->data)) {
$this->Session->setFlash(__('The user has been saved', true));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The user could not be saved. Please, try again.', true));
}
}
if (empty($this->data)) {
$this->data = $this->User->read(null, $id);
}
$groups = $this->User->Group->find('list');
$this->set(compact('groups'));
}
в этом разделе:
if (!$id && empty($this->data)) {
$this->Session->setFlash(__('Invalid user', true));
$this->redirect(array('action' => 'index'));
}
мы проверяем, что идентификатор передан или нет. если не установлено, мы перенаправляем пользователя. чем:
if (!empty($this->data)) {
if ($this->User->save($this->data)) {
$this->Session->setFlash(__('The user has been saved', true));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The user could not be saved. Please, try again.', true));
}
}
если отправлены данные из вида, мы обновляем строку в дБ. затем:
if (empty($this->data)) {
$this->data = $this->User->read(null, $id);
}
$groups = $this->User->Group->find('list');
$this->set(compact('groups'));
и если идентификатор был установлен, и если данные не были отправлены в его сеть, то ранее открытая страница и данные в отношении этого идентификатора будут считаны из БД и отображены в виде.
Теперь я не могу понять, как и где модель передает данные для просмотра в стандартном MVC этого CakePHP ????
спасибо за помощь.