Primero un diagrama:
// TODO
Y ahora el código de las clases, junto con las 2 clases de ejemplo, MiClaseDesactivable y MiClaseHistoriable:
<?php
abstract class Desactivable {
public $activo;
public $alta;
public $baja;
}
?>
<?php
abstract class Historiable extends Desactivable {
public $inicio;
public $fin;
}
?>
Como me gusta hacer borrados lógicos en vez de físicos en las tablas de datos, todas las clases de mis proyectos heredarán de una de éstas 2 clases abstractas, directamente de Desactivable, para los casos generales, o de Historiable, para tablas versionadas o históricas (Slowly Changing Dimension de tipo 2). Ver http://raulcad.blogspot.com.es/2013/01/modelo-de-datos.html
<?php
class MiClaseDesactivable extends Desactivable {
// TODO añadir los campos propios
}
?>
<?php
class MiClaseHistoriable extends Historiable {
// TODO añadir los campos propios
}
?>
No hay comentarios:
Publicar un comentario