Qual a diferença entre doctrine e Propel??? Qual utilizar??

84 views
Skip to first unread message

Jackson

unread,
Dec 9, 2009, 2:40:26 PM12/9/09
to symfony-pt
Bom pessoal.. eu tenho essa grade dúvida.. Qual a difereça entre Prope
e Doctrine?

Rafael Eduardo Kassner

unread,
Dec 9, 2009, 2:56:51 PM12/9/09
to symfo...@googlegroups.com
Ambos são ORM's. A diferença básica entre eles é a utilização. Particularmente, acho mais fácil montar query's com Doctrine_Query do que com o Criteria do Propel. Se for para escolher, eu escolheria Doctrine pela documentação/suporte/facilidade de uso e performance, que EU acredito que seja melhor que do Propel.

Entretanto, muitos components prontos do Symfony estão escritos exclusivamente para propel, então, dependendo do que você precisa fazer no projeto, só Propel te salvará.

Valeu!

2009/12/9 Jackson <jacks...@gmail.com>


Bom pessoal.. eu tenho essa grade dúvida.. Qual a difereça entre Prope
e Doctrine?




--
Rafael Eduardo Kassner
http://www.kassner.com.br
+55 47 9992-9170

Jackson

unread,
Dec 9, 2009, 2:58:18 PM12/9/09
to symfony-pt
Vlw Rafael.. =P

On 9 dez, 17:56, Rafael Eduardo Kassner <kass...@gmail.com> wrote:
> Ambos são ORM's. A diferença básica entre eles é a utilização.
> Particularmente, acho mais fácil montar query's com Doctrine_Query do que
> com o Criteria do Propel. Se for para escolher, eu escolheria Doctrine pela
> documentação/suporte/facilidade de uso e performance, que EU acredito que
> seja melhor que do Propel.
>
> Entretanto, muitos components prontos do Symfony estão escritos
> exclusivamente para propel, então, dependendo do que você precisa fazer no
> projeto, só Propel te salvará.
>
> Valeu!
>
> 2009/12/9 Jackson <jackson...@gmail.com>

Rafael Goulart

unread,
Dec 9, 2009, 6:57:36 PM12/9/09
to symfony-pt
Jackson,

A abordagem também é diferente.

Por exemplo, é possível criar um schema.yml para o Doctrine... com
herança.

Até é possível fazer algumas coisas com o Propel assim, mas na mão...
mas o Doctrine está bem à frente nisto.

Exemplo: eu posso criar uma tabela de pessoas, com tipo de pessoa... e
então criar classes extendidas que filtram pelo tipo. A questão é que
o Doctrine faz isto a partir do schema... ou seja... ele cria:

class Funcionario extends Pessoa

E faz TODOS os filtros pelo campo correspondente!

Ele tem vários Behaviors que no Propel só começaram a aparecer agora
na versão 1.4, como o SoftDelete (que automaticamente cria um campo
deleted, e nunca apaga de fato os registros) e assim por diante.

Considero o Doctrine, apesar de ser mais novo que o Propel, bem mais
moderno.

Mas na versão 1.4 o Propel começou a correr atrás do prejuízo. Existem
uma divisão na comunidade quanto aos dois.

Quanto à linguagem de consulta, ambos exigem adaptação, mas o Doctrine
é um pouco mais perto do SQL. Mas aí sempre será uma questão de gosto:
o Propel abstrai mais para o lado da OO, o Doctrine fica mais no meio
do caminho, na minha opinião.

Bom, alguns pontos para você refletir.

[]'s
Rafael Goulart

Jackson

unread,
Dec 10, 2009, 7:20:26 AM12/10/09
to symfony-pt
Vlw Rafael.. seu post é interessante.. brigadão..

Gerson Minichiello

unread,
Dec 12, 2009, 9:39:36 AM12/12/09
to symfony-pt
Por estes dias saiu também no blog do symfony um artigo justamente
sobre isso, qual deles utilizar, vale a pena ler:

http://www.symfony-project.org/blog/2009/12/07/doctrine-vs-propel
Reply all
Reply to author
Forward
0 new messages