|
||||||||||
|
|
Doctrine ORMAgosto 7, 2009 on 11:56 am | In Informatica, php |Agora vou falar da ultima novidade nos meus projetos, o uso do Doctrine como camada de abstração de dados. Ele foi criado com base do Hybernation do Java, assim absorvendo bastante idéias e design patterns, eu não conheço profundamente todos os recursos, mas o pouco que tenho usado ja tem me ajudado muito, vou descrever o que ele pode fazer, como tem me ajudado e mais para frente uns tutoriais mais específicos com códigos do Doctrine. O Doctrine é um object-relational mapper ou ORM (mapeador de objeto-relacional), a idéia fica por conta de acessar todos os seus dados mySQL ou de banco através de objetos PHP, chega de querys complexas e gambiarras com php-mySQL. Ele segue o design pattern criado pelo Martin Fowler de Active Record (isso mesmo o mesmo criador do MVC), que é a idéia de objeto ser a referência da tabela. Exemplo: PHP:
Agora com essa idéia você pode escrever Query SQL com OO, o dialeto do doctrine é o DQL (Doctrine Query Language), que é possível trazer todos objetos relacionais (tabelas relacionais) de forma bem simples, vejamos um exemplo de DQL e SQL: DQL: PHP:
SQL: PHP:
Ainda tem muito mais características, vale a pena dar uma olhada no próprio site do Doctrine ou usar o google, mas so com essas definições nos podemos dizer que:
Entao apartir da definição do Schema da base de dados o próprio Doctrine cria todos os códigos de Model ai podemos livremente instanciar Objetos relacionais e salvar, deletar e afins. 3 Comments »RSS feed for comments on this post. TrackBack URI Leave a comment |
![]()
Powered by WordPress. Theme designed by Lunarpages Web Hosting. |
Salve,
Eu uso o SQLReactor, baseado no SQLAlchemy do Python, e achei muito bom e é brasuca.
Valeu!
Comment by Silas Ribas — Agosto 7, 2009 #
Como eu faço para gerar os modelos do doctrine?
Comment by Marcus — Setembro 2, 2009 #
Blz.
Gostaria de saber se há como separar os modelos gerados pelo Doctrine em diretorios dentros dos módulos correspondentes a sua estrutura MVC.
Como fazer isto.
Sentirei-me grato pela restposta.
Obrigado.
Comment by Milton — Janeiro 25, 2010 #