Newsgroup: it.comp.www.php
Titolo: Re: Creazione di una struttura MVC corretta

 Come posso ottimizzare questo codice in una logica MVC?
a vedere il codice questo sembra già (circa) disegnato in mvc 
Hai il file dove ci si interfaccia al database (averne uno solo per tutto 
il sito fa un po' schifo, ma tant'è) che sarebbe M.
Hai i templates da popolare con i risultati estratti da M, che sarebbero 
le view.
Hai chi chiama i metodi/funzioni di M e li sbatte dentro le V (tramite 
smarty), che sarebbe il Controller.
Esattamente, qual'era lo scopo della richiesta?


... hai mica sbagliato tasto? ;)

RedWiz ha scritto:

Grazie per la risp!!
Solitamente negli esempi che ho trovato relativi ad MVC trovo anche 
delle action (per esempio) ecc... in questo caso invece non trovo nulla
cmq, in sintesi, volevo capire se era possibile creare una struttura 
corretta (per un progetto strutturato, seriamente, in MVC), partendo da 
questo script.
Grazie

 questo script.
La parola seriamente io non l'ho mai scritta :)
Se vuoi una cosa fatta bene secondo quel paradigma:
scegli e studia un framework MVC ,poi riscrivi da zero il sito con quel 
framework.

 framework.
Certo, sarebbe la soluzione migliore, ma volevo capire (e preferirei) 
partire da questa base esistente; ecco perchè stavo chiedendo il vostro 
aiuto o cmq un suggerimento

 Mai utilizzato le action in MVC?
no, che sono?

> no, che sono?
In un libro che sto leggendo viene indicato che
chiamate del tipo 
http://applicazione/news/display
news indica il controller
display l'action
quindi le action sono funzioni all'interno del controller
cmq a parte questo, tornando al mio problema iniziale.... come potrei 
modificare il quel codice?
Grazie

 Mai utilizzato le action in MVC?
Le action sono una "specializzazione" del controller, non sono definite 
nel pattern.
Per esempio in Gtk+ si chiamano callback. Si chiamano Action in Zend 
Framework (che penso sia l'esempio che riporti dopo).
L'ottica MVC dice semplicemente:
- Il Model deve contenere e gestire i dati
- Il Controller deve ricevere gli ordini dall'utente e mandare i dati dal 
model alla view
- La View deve visualizzare i risultati.
Come vengono implementati i tre componenti varia tantissimo.
Come dice RedWiz, il tuo codice sembra gia` MVC, anche se magari 
strutturato male. Per migliorarlo dovresti riscriverlo.
Bye.

 strutturato male. Per migliorarlo dovresti riscriverlo.
Grazie mille!!!
Intendi strutturato male per via del fatto che ho unico file che include 
tutte le query?? oppure anche per altro??
come potrei diviedere il file in base al Model che lo utilizza?
(intendo: cosa dovrei inserire nel model per richiamare il file corretto)
Grazie

 corretto)
Per esempio raggruppando in file separati le query in base alle tabelle 
su cui lavorano, e usando dei namespace fittizi nei nomi di funzione (se 
non si vogliono usare oggetti). Per esempio Billers_GetAll() (e poi 
Billers_getOne(), Billers_getByOrder(), ecc. ecc.) invece di getBillers
(), in modo che a colpo d'occhio distingui le funzioni che lavorano sulla 
tabella biller.
Mi pare comunque strano che l'autore originale abbia usato pezzi dello 
Zend Framework (vedi cartella Zend) senza programmare a oggetti. Dal 
pezzo di codice che riporti sembra che usi PDO quando avrebbe Zend_Db 
sotto mano...
Bye.

 In un libro che sto leggendo viene indicato che
mi diresti che libro è, e come ti ci trovi?

  
Scusa se scrivo ancora, ma vorrei chiarirmi bene le idee
tu dici che i problemi principali in quell'esempio sono:
- un unica query
- non venogno utilizzati gli oggetti
(altri errori/problemi evidenti non ci sarebbero?)
Il fatto che venga usato PDO e non Zend_DB è un problema o semplicemente 
sarebbe meglio utilizzare gli strumenti messi a disposizione da Zend?
Grazie

 sarebbe meglio utilizzare gli strumenti messi a disposizione da Zend?
No. PDO e` ottimo. Ma, siccome gia` lui e` a oggetti, e siccome ci ha 
installato la cartella Zend, mi chiedevo perche` l'autore originale non 
avesse completato il lavoro e progettato tutto a oggetti, usando le 
astrazioni di Zend Framework, invece di andare a basso livello su 
praticamente tutto il progetto.
Bye.

 praticamente tutto il progetto.
Solo un ultimo dubbio; quando parli di oggetti intendi utilizzare Zend??
Oppure sarebbe possibile programmare in PHP ad oggetti anche senza Zend?
Grazie

 Oppure sarebbe possibile programmare in PHP ad oggetti anche senza Zend?
Buona la seconda; pdo è orientato ad oggetti ma non fà parte dello
zend ;)

Piuttosto, questa discussione sembra sia 'tranciata' cioè, sembra
manchino alcuni post (dove dovrebbe esserci anche il codice in
questione)
Visto che sarei interessato (alla logica mvc), potete postarlo che ci
d'ò un'occhiata?
thanks ;)

 thanks ;)
L'esempio di codice MVC l'ho postato ad inizio ... hai visto??

 L'esempio di codice MVC l'ho postato ad inizio ... hai visto??
mmh no, questo 3d sembra come spezzato, come primo messaggio vedo
quello di redwiz..