Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/12/2015, 01:55
Avatar de cluster28
cluster28
 
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Ejemplo de ORM

La idea de Doctrine, es separar lo que es una entidad (el registro de base de datos) y el acceso a base de datos. Por un lado se crean clases de entidad que lo único que tienen es propiedades, getters y setters, que serán los datos de la base de datos (sería tu clase 'usuario'). Y por otro la dato un repositorio que permite usar métodos ya implementados de acceso a base de datos y podrías crear métodos nuevos con consultas particulares por lo que las entidades no tienen acción directa con la base de datos.

A ver, ya te digo que es una forma de trabajar. Si encuentras una forma mejor de hacerlo mejor para tí. Ya te digo que lo hice más o menos como tú. Con muchos métodos de interacción con base de datos dentro de la propia entidad y era realmente sencillo trabajar con esos objetos. Tú sólo tienes addUser, pero imáginate que creas deleteUser, updateUser, disableUser, enableUser. Estando en el propio objeto es muy fácil trabajar con él. Pero imagínate que quieres actualizar mil usuarios. Creas mil objetos usuario, pero cada uno de ellos tendrá cada método implementado en la clase. Qué pasa con esto? Pues que vas a usar mucha memoria para sólo usar el método updateUser. No es mejor hacer las entidades livianas y apoyarte en una sóla clase externa (repositorio)?