2010-01-17 16 views
7

Sto pensando di usare doctrine per scrivere un modulo della mia app che è stato creato con codeigniter.utilizzando doctrine con codeigniter

Ho una domanda molto semplice: diciamo che ho una tabella chiamata "utente", con doctrine genera-modelli da db, 3 classi sono generate BaseUser.php, User.php e UserTable.php. Ora, come ho visto negli esempi, usano la classe User a distanza. Dovrei fare questo? Ho bisogno di ulteriori funzionalità aziendali per gli oggetti utente. Quindi dovrei creare un modello di CodeIgniter user_model e quindi utilizzare la classe utente al suo interno (aggregazione) o in qualche modo estendere classe utente (io non so come questo sarà fatto come user_model estende modello)

Am po 'confuso su questo e non riesco a trovare qualsiasi letteratura appropriata per lo stesso. Qualsiasi aiuto sarebbe apprezzato.

grazie in anticipo,

risposta

2

per chiunque sia interessato - ho postato un antipasto progetto sul mio blog - un dev incorporazione pronta delle seguenti tecnologie:

  • ExtJS: lato client JS biblioteca,
  • CodeIgniter: presentazione + livello di dominio,
  • Doctrine: ORM quadro strato di dati

Alcune funzioni di questo progetto sono: - CodeIgniter I modelli sono stati sostituiti con Doctrine Records - Doctrine è caricato in CI come plug-in - Tipo RoR prima e dopo i filtri .... - transazioni Dottrina avvolto automaticamente intorno a ogni azione in fase di esecuzione (aggiornamenti db atomica)

ruolo fondamentale di sicurezza basato (? Penso Redux può essere in là pure) estrarre semplicemente, collegare il file config e database.php viola…. Puoi iniziare a codificare layout, viste e modelli. Probabilmente alcune cose da appianare - ma divertiti!

Speranza che aiuta

farlo a: http://thecodeabode.blogspot.com

+1

Wow! Non rispondendo alla domanda, un auto-plug, un cattivo collegamento a un non-articolo e un blog personale più carico di pubblicità rispetto a un sito di Geocities. Peccato che non posso ancora votare. – MikeMurko

0

Dai un'occhiata a questo info on Doctrine_Table class.

Per i tuoi 3 file generati:
BaseXXX.php:
Contiene la definizione dei modelli in modo che Doctrine è in grado di gestire le operazioni sul database. Questa classe dice all'ORM quali colonne sono disponibili, i loro tipi, le funzioni avanzate (come Timestampable, ...) e altro. Non dovresti inserire i tuoi dati in questo file poiché sarà sovrascritto durante la ricreazione dei modelli dal database.

XXX.php:
Il tuo modello attuale. Questo non verrà ricreato con ogni processo di nuova generazione e questo è il motivo per cui hai mantenuto buona parte del tuo codice. Se necessario, puoi sovrascrivere le funzioni di BaseXXX.php.

XXXTable.php:
controllare il mio collegamento dall'alto, Ciò consente di accedere alla tabella stessa. Personalmente, non lo uso spesso poiché ho inserito la maggior parte del codice in XXX.php.

Naturalmente puoi creare nuove classi e utilizzarle nel tuo file XXX.php. Per fare effettivamente qualcosa con i dati (salva, leggi, ...) hai bisogno di classi connesse (estese) dalle classi di Doctrine.

edit: controllare anche this su un più informazioni con l'estensione della classe Doctrine_Table