Emilio |
11-06-2006 20:46:54 |
Classes con PHP - Ejemplo TCarrito
Sencillo ejemplo de cómo usar clases con PHP.
En el ejemplo creamos las clases TCarrito y TLineas, con la finalidad de mantener el típico carrito de compra en una tienda virtual, para ello en a la clase principal TCarrito declaramos las varibles que contendrán los datos de cabecera, como nombre y dirección del cliente, así como una variable llamada lineas que a su vez contiene un array con todas las líneas del carrito.
Nuestro carrito necesitará de tres métodos o funciones para añadir, borrar y modificar los datos de las líneas, para ello implementamos tres sencillos métodos add_linea(), delete_linea() y update_linea()
Código:
Class TCarrito {
var $cliente_id;
var $nombre;
var $direccion;
var $poblacion;
var $provincia;
var $pais;
var $observaciones;
var $lineas; // array de TLineas
function add_linea ( $producto_id, $descripcion, $cantidad, $precio ) {
$lineas = New TLineas();
$lineas->producto_id = $producto_id;
$lineas->descripcion = $descripcion;
$lineas->cantidad = $cantidad;
$lineas->precio = $precio;
$this->lineas[] = $lineas;
}
function delete_linea ( $posicion ) {
if ( $this->lineas[$posicion] ) {
array_splice( $this->lineas, $posicion, 1 );
return true;
}
else {
return false;
}
}
function update_linea ( $posicion, $descripcion, $cantidad, $precio ) {
if ( $this->lineas[$posicion] ) {
$this->lineas[$posicion]->descripcion = $descripcion;
$this->lineas[$posicion]->cantidad = $cantidad;
$this->lineas[$posicion]->precio = $precio;
return true;
} else {
return false;
}
}
}
// La clase auxiliar para las lineas del carrito
Class TLineas {
var $producto_id;
var $descripcion;
var $cantidad;
var $precio;
}
Forma de uso:
Código:
// Constructor de la clase.
$MiCarrito = new TCarrito();
// Añadir líneas.
$MiCarrito->add_linea ( 25, 'Hamburguesa doble con patatas', 3, 6 );
// Modificar.
$MiCarrito->update_linea ( 1, 'Hamburguesa doble con patatas', 2, 6 );
// Eliminar
$MiCarrito->delete_linea ( 1 );
Para la cabecera directamente seteamos sus valores de la siguiente forma...
$MiCarrito->nombre = 'Emilio Muñoz';
$MiCarrito->población = 'Palma de Mallorca';
$MiCarrito->provincia = 'Baleares';
$MiCarrito->pais = 'España';
Y eso es todo, luego sólo se trata de guarda una posición en algún campo oculto de vuestro código HTML.
|