Conheça os principais projetos do Doctrine \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 11 Horas 

 32 Min 

 13 Seg 

   Tempo restante da oferta: 11 32 13 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) Conheça os principais projetos do Doctrine  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

# Conheça os principais projetos do Doctrine

 O Doctrine é um conjunto de projetos PHP voltados principalmente para trabalhar com persistência de dados. Neste post vamos falar como esses projetos surgiram e qual a utilidade de cada um.

 [ Elton Fonseca ](https://www.treinaweb.com.br/blog/autor/elton-fonseca) 7 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/12/06151538/principais-projetos-doctrine.png)  

Ao falar em Doctrine é normal pensarmos diretamente no [ORM](https://www.treinaweb.com.br/blog/o-que-e-orm/ "ORM"), porém o Doctrine é um conjunto de projetos em [PHP](https://www.treinaweb.com.br/blog/o-que-e-php/ "PHP") voltados para trabalhar com banco de dados e outros recursos.

## Projetos do Doctrine

O objetivo do doctrine inicialmente era construir um projeto único para garantir o acesso a dados de forma eficiente assim como em outras linguagens de programação, também no PHP. Com o tempo o projeto foi sendo melhorado e nesses processos os desenvolvedores começaram a observar que poderia separar o projeto em pequenos projetos que pudessem ser reutilizados, tanto dentro do próprio Doctrine quanto em outros projetos PHP, mesmo que a aplicação não utilize o [Doctrine ORM](https://www.treinaweb.com.br/blog/primeiros-passos-com-doctrine-orm/ "Doctrine ORM") em si.

[  ![Doctrine ORM - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/doctrine.svg)   Curso Doctrine ORM - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/doctrine-orm-fundamentos)

Baseado nessa filosofia hoje o Doctrine conta com mais de 15 projetos. Os principais são:

### DBAL

É uma camada de abstração de acesso a dados construída sobre o PDO. Conta com recursos importantes que permitem executar queries parametrizadas, construir consultas através do query builder, além de ferramentas para ler e alterar a estrutura do banco de dados.

### ORM

O Doctrine ORM é um Object Relational Mapper que implementa o padrão Data Mapper. Seu principal objetivo é facilitar o mapeamento entre o banco de dados relacional e o modelo orientado a objetos, diminuindo a complexidade do acesso aos dados.

### Commom

Agrupa recursos em comum que são compartilhados por diferentes projetos do Doctrine. O objetivo principal dele é evitar que trechos de códigos com recursos comuns tenham de ser duplicados dentro dos diversos projetos do Doctrine.

### Migrations

Permite a definição da estrutura do banco de dados através de arquivos dentro da aplicação, facilitando a criação do banco de dados em novos ambientes e também o versionamento da estrutura do banco.

### Annotations

No PHP é comum usarmos um padrão chamado DocBlock para documentarmos nossas aplicações. As annotations nada mais são do que informações que definimos dentro desses blocos de comentários, mas que são lidas pela aplicação, ao invés de ignoradas como os demais comentários. O projeto annotation consistem em um parser (leitor) que consegue obter essas informações de forma simples.

[  ![PHP Avançado](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/php.svg)   Curso PHP Avançado Conhecer o curso ](https://www.treinaweb.com.br/curso/php-avancado)

### Collections

Projeto consiste em uma biblioteca que adiciona funcionalidades bastante úteis para o tratamento de conjuntos de informações. Podemos pensar de forma muito simplista nas collections como sendo funcionalidades adicionais sobre os arrays nativos do PHP.

### Cache

Projeto muito utilizado na comunidade PHP para realização de cache. Por padrão possui drivers que permitem utilizá-lo com diferentes meios de armazenamento, como, redis, memcache e outros.

### Event Manager

É um gerenciador de eventos usado em vários projetos do próprio Doctrine e também da comunidade em geral.

### MongoDB Abstraction Layer

O projeto consiste em uma camada adicional de abstração que adiciona funcionalidades a extensão PHP Mongo disponível no PECL.

### Mongo ODM

O Mongo ODM (Object Document Mapper) é um projeto da mesma categoria que o ORM, com a diferença que ele faz o mapeamento entre o modelo de documentos do banco de dados NoSQL Mongo para o modelo de orientado a objetos.

### Outros projetos

O Doctrine ainda conta com outros projetos fora os especificados neste post. A lista completa pode ser acessada no site do Doctrine: [https://www.doctrine-project.org/projects.html](https://www.doctrine-project.org/projects.html "https://www.doctrine-project.org/projects.html")

## Considerações finais

O doctrine conta com projetos de alta qualidade que podem ser usados em qualquer aplicação PHP, mesmo que não utilize os projetos principais como DBAL e ORM. Assim como conhecer os [principais componentes do Symfony](https://www.treinaweb.com.br/blog/symfony-componentes-o-que-sao-e-qual-sua-importancia-para-o-ecossistema-php/ "principais componentes do Symfony") pode te ajudar na hora da escolha das bibliotecas, os projetos do Doctrine também são extremamente importantes para seu repertório.

[  ![Desenvolvedor Symfony Full-Stack](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/symfony.svg)   Formação Desenvolvedor Symfony Full-Stack Conhecer a formação ](https://www.treinaweb.com.br/formacao/desenvolvedor-symfony-full-stack)

- [ #Symfony ](https://www.treinaweb.com.br/blog/tag/symfony)
- [ #ORM ](https://www.treinaweb.com.br/blog/tag/orm)
- [ #Doctrine ](https://www.treinaweb.com.br/blog/tag/doctrine)

Autor

 ![Elton Fonseca](//secure.gravatar.com/avatar/2cee05645357ced0841ce76ba5569c72?d=mm)

## Elton Fonseca

 Professor e desenvolvedor. Formado em análise e desenvolvimento de sistema, pós graduado em engenharia e arquitetura de software. É autor de cursos em diversos temas, como, desenvolvimento back-end, cloud computing e CMSs. Nas horas vagas adora estudar sobre o mercado financeiro, cozinhar e brincar com pequeno Daniel. [@eltonfonsecadev](https://twitter.com/eltonfonsecadev) 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/elton-fonseca)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/12/09153638/doctrine-ORM-400x280.png)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     7 anos atrás

    ##  [ Primeiros passos com Doctrine ORM ](https://www.treinaweb.com.br/blog/primeiros-passos-com-doctrine-orm) 

     Conheça os principais conceitos do Doctrine ORM, como entidade, mapeamento e Entity Manager. Veja também como executar um exemplo prático de criação de registro no banco de dados.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/04/03104651/PHP-PSR4-400x280.png)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     7 anos atrás

    ##  [ PSR-4 a recomendação de autoload do PHP ](https://www.treinaweb.com.br/blog/psr-4-a-recomendacao-de-autoload-do-php) 

     Nesse artigo falaremos de umas das PSRs mais importantes da linguagem PHP, a PSR-4, responsável por recomendações de autoload na linguagem. Venha conferir!!!

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/11/03082200/ORM-CAPA-400x280.png)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     7 anos atrás

    ##  [ O que é ORM? ](https://www.treinaweb.com.br/blog/o-que-e-orm) 

     Nesse artigo aprenderemos o que é ORM, quais problemas ele resolve, os padrões mais usados e quais os principais ORMs do mercado.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/04/16144257/conheca-o-google-cloud-platform-400x280.png)  [ Google Cloud Platform (GCP) ](https://www.treinaweb.com.br/blog/categoria/google-cloud-platform-gcp) 

     9 anos atrás

    ##  [ Conheça o Google Cloud Platform ](https://www.treinaweb.com.br/blog/conheca-o-google-cloud-platform) 

     O Google Cloud Platform é o serviço de computação em nuvem do Google. Ele possui uma quantidade enorme de serviços para as mais diversas áreas. Veja seus principais conceitos e como testá-lo gratuitamente.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/02/06152024/js-engine-400x280.png)  [ Desenvolvimento de Jogos ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-de-jogos) 

     9 anos atrás

    ##  [ JavaScript Game Engines ](https://www.treinaweb.com.br/blog/javascript-game-engines) 

     Conheça as principais Game Engines para JavaScript.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/09/05155108/React-Hooks-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     7 anos atrás

    ##  [ React: Conheça o Poder dos Hooks ](https://www.treinaweb.com.br/blog/react-conheca-o-poder-dos-hooks) 

     Conheça o que os React Hooks podem fazer e como eles vão facilitar o processo de desenvolvimento da sua próxima aplicação.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/11/conheca-o-pyramid-framework-python-para-desenvolvimento-web-400x280.png)  [ Python ](https://www.treinaweb.com.br/blog/categoria/python) 

     6 anos atrás

    ##  [ Conheça o Pyramid, Framework Python para desenvolvimento web ](https://www.treinaweb.com.br/blog/conheca-o-pyramid-framework-python-para-desenvolvimento-web) 

     Veja neste artigo o que é o Pyramid, Framework Python para desenvolvimento web.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/04/18005109/capa-gerenciamento-projetos-400x280.png)  [ Testes e Projetos ](https://www.treinaweb.com.br/blog/categoria/testes-e-projetos) 

     8 anos atrás

    ##  [ Gerenciamento de projetos: essa carreira é para você? ](https://www.treinaweb.com.br/blog/gerenciamento-de-projetos-essa-carreira-e-para-voce) 

     Confira neste artigo um pouco mais sobre a carreira de gerente de projetos.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/07/o-que-e-mindfulness-e-como-pode-nos-ajudar-na-area-de-ti-1-400x280.png)  [ Carreira ](https://www.treinaweb.com.br/blog/categoria/carreira) 

     6 anos atrás

    ##  [ O que é mindfulness e como pode nos ajudar na área de TI? ](https://www.treinaweb.com.br/blog/o-que-e-mindfulness-e-como-pode-nos-ajudar-na-area-de-ti) 

     Conheça mindfulness, como sua prática ajuda na vida pessoal e profissional. E como aplicar ele no seu dia a dia na área de tecnologia da informação.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/complexity-code-copy-400x280.jpg)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     10 anos atrás

    ##  [ Ferramenta para avaliar a complexidade de código escrito em PHP ](https://www.treinaweb.com.br/blog/ferramenta-para-avaliar-a-complexidade-de-codigo-escrito-em-php) 

     Conheça um pouco mais sobre a phploc, ferramenta para avaliar a complexidade de código escrito em PHP.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/07/19141414/capa-lean-ti-400x280.jpg)  [ Engenharia de Software ](https://www.treinaweb.com.br/blog/categoria/engenharia-de-software) 

     8 anos atrás

    ##  [ O que é Lean TI? ](https://www.treinaweb.com.br/blog/o-que-e-lean-ti) 

     Conheça mais sobre a Lean TI e seus princípios.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/06/27092256/kanban-3-400x280.png)  [ Engenharia de Software ](https://www.treinaweb.com.br/blog/categoria/engenharia-de-software) 

     9 anos atrás

    ##  [ Princípios básicos do Kanban ](https://www.treinaweb.com.br/blog/principios-basicos-do-kanban) 

     Conheça um pouco sobre os princípios básicos do Kanban.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **11h 32min 13s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
