Índice

Conceptos de DBAL, entidad y ORM

Doctrine2Doctrine2 es una librería que permite gestionar las interacciones entre una aplicación y una (o varias) base de datos. Aunque esta no sea la única manera de comunicarse con una base de datos (existen otras librerías como Propel, la extensión PHP PDO, etc.), Symfony claramente ha convertido Doctrine2 en su opción favorita. En efecto, esta última se preconfigura en la edición estándar (ver Empezar con Symfony - Crear un proyecto en Symfony). Este es el motivo por el que solo abordamos Doctrine2 a lo largo de este capítulo.

Antes de entrar de lleno en materia, es conveniente definir ciertos conceptos necesarios para entender el funcionamiento de Doctrine2Doctrine2.

Doctrine2 se compone de varias capas: DBAL, ORM y Entidad.

images/6.png

1. DBALDBAL

La capa DBAL (Database Abstraction Layer), es la capa de más bajo nivel. No tiene ninguna lógica aplicativa y su función es enviar las consultas a una base de datos y recuperar los resultados. Es comparable a la extensión PHP PDO y se podría definir como una versión más avanzada de esta extensión.

PHP PDO se utiliza de manera interna por la capa DBAL.

2. EntidadEntidad

Las entidades son clases de una aplicación que se han configurado para que Doctrine2 pueda establecer una correspondencia entre estas últimas y las tablas de la base de datos.

La principal funcionalidad aportada por Doctrine2 (respecto a una utilización directa de la extensión PHP PDO, ...