Doctrine

Doctrine
Información sobre la plantilla
Doctrine-logo.png
Librería de componentes escritos en PHP para el tratamiento con la Bases de Datos.
DesarrolladorJonathan H. Wage
Lanzamiento inicial2006
Versiones1.0, 2.0
Última versión estable2.0
Sitio web
http://www.doctrine-project.org/

Doctrine. Es un mapeador de objetos relacional (ORM) escrito en PHP que proporciona persistencia para objetos PHP. Está por encima de la capa de abstracción a la base de datos, uno de sus características es la posibilidad de escribir consultas a la base de datos a partir del tratamiento con objetos en PHP llamado Doctrine Query Language (DQL).

Historia

Doctrine fue creado por Konsta Vesterinen, también conocido por zYne-. Su primer lanzamiento se hizo el 13 de abril de 2006. Después de un buen tiempo, la comunidad fue creciendo se volvió más activa, su desarrollo fue aumentando gracias de la comunidad, muchos de ellos provenientes del proyecto Google Summer.

La versión 1.0.0 fue liberada el 1 de septiembre de 2008.

La primera versión estable de Doctrine 2.0 fue liberada el 22 de diciembre de 2010, después de dos años medio de comenzar su desarrollo a principios de 2008.

Utilización

Doctrine sigue el patrón de registros activo para el trabajo con los datos, donde una clase representa una tabla en la base de datos. Para una instancia, si el programador desea crear un nuevo objeto usuario en la base de datos, no necesita escribir consultas SQL, se puede hacer mediante este pedazo de código PHP:

$user = new User();
$user->name = "john";
$user->password = "doe";
$user->save();
echo "The user with id $user->id has been saved.";

Características

Una de las características de Doctrine es el bajo nivel de configuración que se necesita para comenzar un proyecto. Doctrine puede generar clases a partir de una base de datos creada, y el programador puede especificar relaciones y agregar funcionalidades comunes para las clases generadas. No hay necesidad de generar o mantener esquemas complejos en XML, como vistos en otros frameworks.

Otra característica de Doctrine es la habilidad de escribir consultas a la base de datos a partir de la programación orientada a objetos, llamada DQL (Doctrine Query Language). Estas clases proporcionan a los desarrolladores alternativas de gran alcance para SQL de mantener la flexibilidad y todavía permiten el cambio de base de datos de back-ends, sin necesidad de la duplicación de código.

Otras características

  • Soporte para gerarquía (árbol de estructura) de datos.
  • Soporte para los ganchos (métodos que puede validar o modificar la base de datos de entrada y salida) y los eventos a la estructura lógica de negocio relacionadas con ellos.
  • Herencia columna de agregación (objetos similares se pueden almacenar en la tabla de base de datos, con un tipo de columna que especifica el subtipo del objeto en particular - la subclase correcta siempre se devuelve cuando se hace una consulta).
  • Un marco de almacenamiento en caché, haciendo uso de varios backends como memcached, SQLite o APC.
  • El ácido transacciones.
  • Comportamientos del modelo (Sluggable, Timestampable, anidada conjunto, la internacionalización, registro de auditoría, el índice de búsqueda).
  • Migraciones de bases de datos.
  • Una "compilación" la función de combinar muchos archivos PHP del marco en una sola, para evitar el impacto en el rendimiento efectuados por lo general mediante la inclusión de los muchos archivos PHP de un marco.

Fuente

Enlaces externos