Tema: Crear un ABM
Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/12/2006, 17:54
Casuis
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 18 años, 8 meses
Puntos: 3
Re: Crear un ABM

A la técnica del mapeo en que una tabla se representa como un objeto se puede llamar a grandes rasgos ORM. Esto se representa en los framework modernos como rails, zend framework... como una implementación del patrón ActiveRecord.

Recordemos que los Patrones de Diseño (Design Patterns) son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces. (wikipedia te quiero).

Asi que soluciones a problemas comunes.... no se extrae mucho. Bien ejemplo claro. Diseñamos un weblog (bienvenido a la bloggesfera) somos así de chulos y decidimos crearmos uno, pasando de blogger y de wordpress...

Bien en un Blog podemos ver rápidamente que necesitaremos una tabla para posts, los posts necesitaran categorias, y también necesitaremos una tabla de enlaces amigos.
Así podemos ver que en la parte pública se listaran las categorias y cada categoria tendrá n posts, y se listaran los links por completo. Pero en la parte privada podremos crear, borrar y modificar.
Así que tenemos todas las tablas (posts, categorias, links) que utilizaran alta, baja, modificar. Bien pues un buen patrón nos ahorraria mucho codigo.

Solución:

Crear una clase abstracta con los siguientes metodos (esenciales):

findAll($where='',$order='');
findOne($where='',$order='')
findById($id)
deleteAll($where)
deleteById()
updateAll($set,$where)
updateById($id)
insert($rows=array())
save()
y los siguientes atributos (esenciales):
protected $primary_key;
protected $table_name;
protected $fields;


y luego los objetos que representan tabla extienden de esta clase. De esta manera tenemos hecha la parte esencial del modelo. Ahora todos los objetos que extiendan de este tendran las propiedades de seleccionar, actualizar, borrar.

Es un comienzo