DOCTRINE

Páginas: 5 (1068 palabras) Publicado: 17 de septiembre de 2015
Qué es un ORM?
Un ORM o (Object Relation Mapper) es una técnica de programación que nos permite convertir datos entre el sistema de tipos utilizado en un lenguaje de programación orientado a objetos y el utilizado en una base de datos relacional, es decir, las tablas de nuestra base de datos pasan a ser clases y los registros objetos que podemos manejar con facilidad.

Utilizar un ORM tiene unaserie de ventajas que nos facilitan enormemente tareas comúnes y de mantenimiento:

1. Reutilización: La principal ventaja que aporta un ORM es la reutilización permitiendo llamar a los métodos de un objeto de datos desde distintas partes de la aplicación e incluso desde diferentes aplicaciones.
2. Encapsulación: La capa ORM encapsula la lógica de los datos pudiendo hacer cambios que afectan atoda la aplicación únicamente modificando una función.
3. Portabilidad: Utilizar una capa de abstracción nos permite cambiar en mitad de un proyecto de una base de datos MySQL a una Oracle sin ningún tipo de complicación. Esto es debido a que no utilizamos una sintaxis MySQL, Oracle o SQLite para acceder a nuestro modelo, sino una sintaxis propia del ORM utilizado que es capaz de traducir adiferentes tipos de bases de datos.
4. Seguridad: Los ORM suelen implementar mecanísmos de seguridad que protegen nuestra aplicación de los ataques más comúnes como SQL Injections.
5. Mantenimiento del código: Gracias a la correcta ordenación de la capa de datos, modificar y mantener nuestro código es una tarea sencilla.




Qué es Doctrine?
Doctrine es un ORM para PHP 5.2.3 y posterior. Además de todaslas ventajas que conlleva un ORM, uno de sus puntos fuertes es su lenguaje DQL (Doctrine Query Language) inspirado en el HQL de Hibernate.
Cuando trabajamos con Doctrine, necesitamos informar a su motor interno de cual es el modelo de nuestra aplicación, para ello podemos hacer ingeniería inversade nuestra base de datos existente, o si empezamos la aplicación desde 0, crear el modelo en la sintaxisespecífica que nos propone Doctrine y luego generar toda la base de datos.
Para crear el modelo, doctrine nos da dos alternativas, hacer una clase por tabla e indicarle mediante PHP el tipo de datos que almacenaremos en él, un ejemplo:
// models/generated/BaseUser.php
 
class User extends BaseUser
{
public function setTableDefinition()
{
$this->hasColumn('username', 'string',255, array('default' => 'default username'));
$this->hasColumn('name', 'string', 255, array('default' => 'default name'));
$this->hasColumn('age', 'integer', 4, array('unsigned' => true));
// ...
}
 
// ...
}
O crear un esquema en formato YAML (schema.yml) similar a XML, pero bastante más legible. El equivalente al ejemplo anterior en YAML sería:
view source
print?
# schema.yml
 
# ...
User:
# ...
columns:
username:type: string(255)
default: default username
name:
type: string(255)
default: default name
age:
type: integer(4)
unsigned: true
# ...
Además de definir los campos de cada tabla, también le indicamos las relaciones que tienen con las otras tablas y su tipo (many-to-many, one-to-many, one-to-one…), lo que deja perfectamente estructurada nuestro modelo de datos y su manera de acceder a los valores.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).
Demostración de uso
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. Porejemplo, 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ística
Una característica de Doctrine es el bajo nivel de configuración que necesita para empezar un...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Doctrinas
  • Doctrina
  • doctrina
  • doctrinas
  • doctrinas
  • Doctrinas
  • Doctrina
  • Doctrina

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS