segunda-feira, 11 de janeiro de 2016

O que é Doctrine 2?

O Doctrine é um mapeador objeto-relacional (ORM) que provê um meio transparente de persistir objetos PHP em bases de dados relacionais. A implementação de Doctrine está construída sobre uma camada de abstração de banco de dados.
Vamos entender um pouco mais?

Primeiramente, o que é um ORM?

ORM (Object-relational mapping) é uma camada intermediária entre um banco de dados relacional e objetos. De um lado, temos as tabelas e seus relacionamentos, de outro os objetos de uma linguagem OO.

O que um ORM faz?

  • Mapeia dados do DB para Objetos
  • Mapeia relacionamentos
  • Lida com conversão de tipos

Quais problemas ele resolve?

  • Agiliza o desenvolvimento
  • Diminui a quantidade de código
  • Ajuda a user os poder dos objetos
  • Faz parte de um bom design de software

Doctrine

logo-doctrineO projeto Doctrine é um conjunto de bibliotecas PHP focada principalmente no fornecimento de persistência de serviços e funcionalidades relacionadas.
Uma característica do Doctrine é o baixo nível de configuração que é necessário para começar um projeto. O Doctrine pode gerar classes de objetos a partir de um banco de dados existente, e o desenvolvedor pode então especificar as relações e adicionar funcionalidade personalizada para as classes geradas. Não há necessidade de gerar ou manter complexas XML de banco de dados, como pode ser visto em muitos outros frameworks.
doctrine_2
Outra característica fundamental do Doctrine é a capacidade de, opcionalmente, escrever consultas em um banco de dados OO (orientada a objetos ) dialeto SQL chamado DQL (Doctrine Query Language) inspirado do Hibernate HQL . Como alternativa, a classe QueryBuilder (Doctrine_Query no 1.x Doctrine) permite construir consultas através de uma interface fluente . Essas interfaces fornecem aos desenvolvedores alternativas poderosas para o SQL manter a flexibilidade e ainda permitir a troca de dados back-ends, sem necessidade de qualquer duplicação de código.
Outras características interessantes do Doctrine são:
  • Suporte para ganchos (métodos que podem validar ou modificar a entrada e saída de dados) e ouvintes de eventos para estruturar a lógica de negócios relacionados;
  • Um framework de cache, fazendo uso de vários backends, como memcached , SQLite ou APC ;
  • Migrações de banco de dados;
  • Uma função de “compilação”. Combinar vários arquivos PHP do framework em um, para evitar o impacto no desempenho normalmente incorridos, incluindo os muitos arquivos PHP de um framework;
  • E muitas outras.

Links e referências

Testo extraído de http://www.schoolofnet.com/

Nenhum comentário:

Postar um comentário