Originariamente inviato da pyotrex
Grazie a tutti per il tempo che mi avete dedicato.
Ragionando e provando a mettere in pratica la teoria mi vengono tanti quesiti, vediamo se mi potete aiutare.
In una classica pagina che effettua una lista di elementi (archiviati in un db mysql) e che ha come caratteristiche paginazione, ordinamento e filtri di ricerca, il model tratta le var in ingresso e ne effettua la validazione e le restituisce al controller, che le ri gira al model per la select al db mysql, da qui in poi ecco i miei dubbi:
1) Una volta che il model ha reperito i dati li restituirà al controller sotto forma di array?
2) La funzione o classe che esegue la paginazione per rispettare mvc non deve avere query al suo interno, perchè queste devono venire effettuate esclusivamente dal model, quindi possiamo dire che una funzione o classe di paginazione in stile mvc lavora su un array di dati?
3) Una funzione di paginazione dovrebbe essere a carico del controller o della view?

poi vi esporrò gli altri dubbi
Scusami se non ho potuto rispondere celermente, comunque:
1) il controller prende i POST/GET, li dà al model, si controlla la bontà dell'algoritmo del dato in input, e si restituisce un oggetto che ha come attributi i campi della tabella.
2)uhm forse non ho capito bene comunque farei una cosa del tipo(supponendo che hai le funzioni pronte nel model):
Codice PHP:
#controller X
function getList($param)
{
$this->lista ListModel::find("all",array("name like...$param}'");
return 
$this->lista;
}
#NELLA VISTA
while($risultato=mysql_fetch_object($this->lista)):
echo 
$risultato->id;
echo 
$risultato->name;
endwhile; 
3) La funzione deve essere a carico del controller.
Fai una richiesta del tipo http://www.tuosito.ext/NomeController/getList/name, e così facendo, richiami la funzione getList del controller NomeController con variabile $_GET['name'].
Così teoricamente funge l'instradamento delle richieste nei vari frameworks:
sito.ext/controller/azione(ossia il metodo)/get

Saluti

Alberto