Doctrine (PHP)

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

Doctrine es un mapeador de objetos-relacional (ORM) escrito en PHP que proporciona una capa de persistencia para objetos PHP. Es una capa de abstracción que se sitúa justo encima de un SGBD (sistema de gestión de bases de datos).

Doctrine

?
Información general
Género Object-relational mapping framework
Sistema operativo Cross-platform
Licencia GNU Lesser General Public License
Estado actual Activo

Demostración de uso[editar]

Doctrine 1.x se basa en el active record pattern para trabajar con datos, en los que una clase se corresponde con una tabla de base de datos. Por ejemplo, si un programador quiere crear un nuevo objeto "Usuario" en la base de datos, no tendrá que escribir ninguna sentencia SQL, simplemente lo siguiente:

$user = new User();
$user->name = 'Juan';
$user->password = '123';
$user->save();
echo "El usuario con id $user->id se ha guardado.";

Características[editar]

Una característica de Doctrine es el bajo nivel de configuración que necesita para empezar un proyecto. Doctrine puede generar clases a partir de una base de datos existente y después el programador puede especificar relaciones y añadir funcionalidad extra a las clases autogeneradas. No es necesario generar o mantener complejos esquemas XML de base de datos como en otros frameworks.

Otra característica importante de Doctrine es la posibilidad de escribir consultas de base de datos utilizando un dialecto de SQL denominado DQL (Doctrine Query Language) que está inspirado en Hibernate (Java).

Otras características notables de Doctrine son:

  • Soporte para datos jerárquicos;
  • Soporte para hooks (métodos que pueden validar o modificar las escrituras y lecturas de la base de datos) y eventos para manejar la lógica de negocio relacionada;
  • Herencia;
  • Un framework de caché que utiliza diversos motores como memcached, SQLite o APC;
  • Transacciones ACID;
  • Diversos comportamientos del modelo (conjuntos anidados, internacionalización, log, índice de búsqueda);
  • Una función "compilar" que combina varios archivos PHP del framework en uno solo para evitar el descenso de rendimiento que provoca incluir varios archivos PHP.

Historia[editar]

El proyecto Doctrine empezó con Konsta Vesterinen, también conocido como zYne-. El 13 de abril de 2006 se hizo el primer envío al repositorio svn.[1]

Influencias[editar]

Doctrine tiene influencias de docenas de proyectos de personas muy diferentes. Las mayores influencias son de Hibernate (el ORM de Java) y de ActiveRecord (de Ruby on Rails). Ambos tienen una implementación completa tanto en Java como en Ruby. El propósito de Doctrine es construir una solución igual de potente para PHP.

Comunidad[editar]

Véase también[editar]

Referencias[editar]

Enlaces externos[editar]