Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Classes con PHP - Ejemplo TCarrito (https://www.clubdelphi.com/foros/showthread.php?t=80463)

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.

Insomne 16-06-2006 02:37:08

Saludos Tecla (Insomne)

Insomne 16-06-2006 02:42:21

Saludos Tecla (Insomne)


La franja horaria es GMT +2. Ahora son las 01:40:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi