Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Los mejores trucos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-06-2006
Avatar de Emilio
*Emilio* Emilio is offline
Capo
 
Registrado: may 2003
Ubicación: Palma de Mallorca
Posts: 2.635
Poder: 10
Emilio Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 16-06-2006
Avatar de Insomne
Insomne Insomne is offline
Registrado
 
Registrado: jun 2006
Ubicación: Madrid
Posts: 4
Poder: 0
Insomne Va por buen camino
Saludos Tecla (Insomne)
Responder Con Cita
  #3  
Antiguo 16-06-2006
Avatar de Insomne
Insomne Insomne is offline
Registrado
 
Registrado: jun 2006
Ubicación: Madrid
Posts: 4
Poder: 0
Insomne Va por buen camino
Saludos Tecla (Insomne)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


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


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
Copyright 1996-2007 Club Delphi