Ciao a tutti!
Sto cominciando a familiarizzare e a fare i primi passi con MVC... avrei bisogno di alcuni chiarimenti.

Poniamo che io voglia mostrare in una pagina le info di un utente registrato.
avrò 4 files:
index.php
controller.php
model.php
view.php

la index avrà un codice del genere:
Codice PHP:
<?php

include 'controller.php';

$controller = new Controller();
$controller ->controlLogin($_SESSION['utente']);

?>
la pagina controller sarà più o meno così:

Codice PHP:
<?php
// includo il model
include 'model.php';

class 
Controller {

public 
$model;

public function 
__construct(){
// creo l'istanza della classe Model
$this->model = new Model();
}

public function 
controlLogin($utente){
// se c'è una sessione aperta applico il metodo mostra() della classe Model e carico una vista particolare
if($utente){
$this->model->mostra($utente);
include 
'views.php';
}else{
// altro metodo e altra vista
$this->model->error();
include 
'views_error.php';
}
}

}
la pagina model sarà più o meno così:

Codice PHP:
<?php
// posso includere una classe per l interazione con il database

class Model {
public function 
mostra($utente){
$query $this->mysqli->query("SELECT * FROM utenti WHERE username = '$utente'");
$riga $query->fetch_object();

}
}
?>
e la vista sarà cosi
Codice PHP:
<html>
<head>
</head>
<body>
<p><?php echo $riga->username;?></p>
</body>
</html>
Una volta visto l'impostazione mi servirebbe capire:
1) Ho capito correttamente il funzionamento del pattern? o sbaglio e confondo le varie funzionalità?
2) Non mi è ancora chiarissima la funzionalità del controller... cioè per ogni azione che voglio svolgere ci dovrà essere un metodo nel controller che carica una determinata vista e applica un metodo del model?

Spero di essermi spiegato bene! in caso contrario mi scuso in anticipo!
Grazie!