Usando clases para manipular información almacenada con php

Una de las cosas útiles de PHP y OOP que se pueden definir fácilmente clases para manejar ciertas cosas y llamar a la clase apropiada cuando queramos. Supongamos que tenemos un formulario html donde un usuario selecciona un producto por medio de su producto ID. Supongamos también que tenemos los datos del producto en una base de datos y queremos mostrar el producto en sí, el precio y demás características.

Si tenemos productos de diferentes tipos, y en la misma acción tenemos diferentes maneras para diferentes familias de productos. Por ejemplo para algunos porductos debemos reproducir un sonido mientras que para otros productos debemos mostrar una foto del mismo guardada en la base de datos. En este caso podemos utilizar OOP y PHP para realizar menos y mejor código fuente:

Podemos definir una clase Producto, definimos que métodos la clase debe tener (por ejemplo “display”), y entonces definimos clases para cada tipo de producto como una extensión (extends) la clase producto (por ejemplo clase ItemSonoro,. ItemVisible, etc.) redefiniendo los métodos que ya definimos en Producto en cada una de las clases que necesitemos. Lo que resulta conveniente en este caso es nombrara las clases de acuerdo con los tipos de “columna” que guardamos en la base de datos por cada tipo de producto que tenemos (id, tipo, precio, etc.).

Entonces cuando procesamos el script podemos pedir el tipo desde la base de datos e instanciar un objeto de la clase del tipo de producto:

< ?php $obj=new $type(); // type has the name of the class to instanciate! $obj->action();
?>

Esto es una buena propiedad de PHP que permite llamar al método “display” por ejemplo del tipo de objeto que tenemos. Con esta técnica no necesitamos tocar el script de proceso (el formulario) cuando agregamos un nuevo tipo de objetos, solamente agregamos la clase y listo. Esto es poderoso, lo único qu debemos definir son los métodos que todos los objetso deben tener de acuerdo a los tipos que tenemos, generando las diferentes maneras para los diferentes tipos.

Si ud. Lidera un grupo de programandores es fácil dividir tareas, cada uno responsable por cada tipo de objetos y las clases que dependen de él. Con estos métodos la internacionalización de un site puede ser muy fácil aplicando los métodos correspondientes de acuerdo al lenguaje que seleccionó el usuario.

Fuente: Documento Generación de web sites dinámicos usando PHP