Mimo że twoja metoda jest troszeczkę oryginalna to jest w pełni ok.
Założeniem MVC jak wiesz jest oddzielenie M od V i od C

C powiniem miec wiedze i dostęp do M i V ale M nie powinno mieć nic wspólnego z V i na odwrót - chyba że ktoś przekaże M jako zmienna do V ;P
U Ciebie działa to tak, że C zbiera wszystkie dane, powołuje model zbiera z niego dane, następnie przekazuje je do widoku. Z podanego kodu wynika, że wszystko jest ok.
Cytat
Czyli jak by nie patrzeć widok pobiera zmienną z kontrolera a nie bezpośrednio z modelu?
I tak powinno być. To C powinien dane zwrócone przez model przekazać widokowi ... Jak niby model sam miałby je przekazać widokowi...

Gdzie tak piszą

Oczywiście to są ząłożenia, czasem się je nieco nagina ale zasada jest właśnie taka...
Cytat
Poprostu masz MVP
Ok skąd to się tu wzięło to nie wiem... To nie jest żadne MVP - to jest zwykłe MVC - z kodu wynika że wszelkie obowiązki są zachowane , C nic sam nie wyświetla, przekazuje dane do widoku który to powinien je wyświetlić. Gdzie tu Prezenter?
@Przem4S - wszystko jest ok

Dla przykładu jeszcze podam jakiś kawałek kodu zaciągnięty z przykładu kursu dla Zenda. jest to akcja "add" jednego z kontrolerów.
function addAction() {
$this->view->title = "Add New Album";
if ($this->_request->isPost()) {
Zend_Loader::loadClass(’Zend_Filter_StripTags’);
$filter = new Zend_Filter_StripTags();
$artist = $filter->filter($this->_request->getPost(’artist’));
$title = trim($filter->filter( $this->_request->getPost(’title’)));
if ($artist != ” && $title != ”) {
‘artist’ => $artist,
‘title’ => $title,
);
$album = new Album();
$album->insert($data);
$this->_redirect(’/');
return;
}
}
// set up an "empty" album
$this->view->album = new stdClass();
$this->view->album->id = null;
$this->view->album->artist = ”;
$this->view->album->title = ”;
// additional view fields required by form
$this->view->action = ‘add’;
$this->view->buttonText = ‘Add’;
}
Jak widać kontroler sprawdza wejście, powołuje model, przekazuje jakieś dane do widoku itd... To też nie jest MVC?

P.S. Nawiasem mówiąc jeśli robisz ten framework sam - polecam dodawanie do akcji kontrolerów jakiegoś postfixa - na przykład Action tak jak w zendzie - to daje tyle, że wewnątrz wtedy masz rozróżnienie czy dana metoda jest akcją czy zwykłą metodą obiektu kontrolera (której nie można wywołać jako akcji z przeglądarki)