Sto per iniziare a lavorare su un nuovo progetto web utilizzando CakePHP 2.2, avendo precedentemente lavorato principalmente con Zend Framework 1.Perché usare Doctrine al posto del database standard di CakePHP ORM?
A prima vista, mi piace molto il modo in cui CakePHP gestisce i modelli e le tabelle database sottostanti, in particolare per quanto riguarda l'impostazione rapida di relazioni uno-a-molti e molti-a-molti con il minimo sforzo. Francamente sembra una boccata d'aria fresca rispetto a come facevo cose in Zend Framework.
Tuttavia, negli ultimi anni durante l'utilizzo di Zend Framework, avevo cercato di utilizzare Doctrine per fornire le relazioni modello che ZF era piuttosto goffo nel fare. La dottrina mi sembrava molto potente e flessibile.
Così ora mi chiedo, prima di entrare troppo nel mio nuovo progetto CakePHP, dovrei comunque considerare l'utilizzo di Doctrine con la mia nuova scelta di framework? Quali sono i vantaggi e gli svantaggi di Doctrine (non è un gioco di parole!) Rispetto alla funzionalità integrata di ORM e database di CakePHP?
Ora ho praticamente completato il porting di un vecchio progetto da ZF1 a CakePHP (perché non mi piace la direzione in cui è andato ZF2) e penso che la tua risposta riassuma la mia esperienza con CakePHP finora. Adoro la sua relativa semplicità nel design e posso vedere che usare Doctrine in questo momento renderebbe ridondante la "magia" di CakePHP. Per ora, continuerò con l'ORM di CakePHP e guarderò Doctrine in futuro. – monkeyhybrid
Le cose sono cambiate molto da quando ho originariamente risposto a questa domanda. L'ORM in CakePHP 3.x è stato riscritto ed è un enorme miglioramento rispetto alle versioni precedenti. Può anche essere usato da solo https://github.com/cakephp/orm Il contrario è anche possibile: usare un'altra libreria ORM con CakePHP, ma personalmente non vedo alcun motivo per farlo. L'ORM di CakePHP 3.x è dannatamente buono. – ADmad
Recentemente ho iniziato a lavorare su un nuovo progetto basato su CakePHP 3.2, e devo dire che l'ORM ha un bell'aspetto! – monkeyhybrid