2009-08-13 11 views
5

Qualcuno sa alcuni buoni esempi per un'applicazione PHP utilizzando seguenti 4 "Livelli"Modelli PHP - Servizio/Modello/Mapper/Esempi di Dao?

ServiceLayer --> Model --> DataMapper --> DAO

non sono sicuro se ha un senso, ma quando uso un tale progetto devo effettuare le seguenti operazioni per creare un nuovo record nel mio database:

$servcie = new Service(new Mapper(new Dao)); 
$service->save($data) 

il servizio è la creazione di un nuovo oggetto di dati e passarlo nel Mapper, il Mapper sta passando i dati al previsto Dao ..

w cappello è l'intenzione di usare tali costrutti?

Perché non semplicemente:

$model = new Model(); 
$model->save($data) 

modello è il risparmio a DB.

risposta

3

Idealmente il modello non dovrebbe avere nulla a che fare con il modo in cui è memorizzato o gestito. Dovrebbe essere una rappresentazione pura e portatile dei dati (idealmente, anche se spesso non così nella pratica). Il controller (o un sottocontrollo dedicato) dovrebbe essere quello che gestisce questa funzionalità per il modello.