2010-12-29 15 views

risposta

0

Penso che dovresti usare solo registrazione attiva perché la maggior parte delle volte penso che potresti pagare una grossa penale usando un altro livello di astrazione (ORM).

1

La domanda è molto vaga e dipende completamente dal caso d'uso.

In ogni caso, preferisco Doctrine tramite l'accesso al database incorporato semplicemente perché preferisco scrivere le query invece di lavorare con (IMO strano modo di) accesso al database di CI. Questo ha un sentimento OO molto maggiore rispetto all'implementazione dell'elemento della configurazione ed è molto potente in quanto consente di fare le stesse cose con SQL regolare (join complessi, sottoselezioni, condizioni WHERE più avanzate).
Anche io lo preferisco dal momento che è possibile passare al processo di querying, ovvero che è possibile eseguire azioni prima che la query venga eseguita, dopo che è stata eseguita, applicate regole e molto altro ancora. Non ho visto questo in modo semplice in CI.
Leggere l'esempio nei documenti per vedere di cosa sto parlando.

L'integrazione in CI è indolore con Doctrine (ci sono molti post disponibili su Internet e anche alcuni qui su SO) in modo da non dover imparare nuove fantasiose convenzioni.

Qualsiasi cosa tu abbia scelto, tieni presente che qualsiasi ORM aggiungerà un imponente (rispetto a quello che è l'ingombro di base di CI) in una struttura molto molto leggera. Quindi sacrifichi la leggerezza per potenti funzionalità di database e più astrazione.

1

Preferisco utilizzare Active Record. È già lì e non ho riscontrato una situazione in cui non ha soddisfatto le mie esigenze. Non ho usato un altro ORM sopra CodeIgniter, ma ho il sospetto che aggiungerebbe un livello non necessario nella maggior parte dei casi.

Che cosa è necessario fare che gli strumenti di Active Record incorporati non forniscono?

+2

Active Record è solo un pattern, gli strumenti ORM supportano questo pattern, ma aggiungono molto altro (come la configurazione delle tabelle nelle classi). La classe standard di Active Record di CI fornisce solo un'interfaccia di base. – thomaux

Problemi correlati