Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/04/2007, 12:23
zsamer
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
Re: Problema con class shopingCart y objeto Db

no me fué muy bién, traté de implementarlo con los ejemplos de php.net pero no funcionó ,

alguien caritativo me podría mostrar un ejemplo de complementación de como usar __sleep y __wakeup para cerrar y abrir la conexion a la base de datos cuando se serialize y se reconstruya el objeto..

la clase carrito es de este estilo:

Código PHP:
class shoppingCart {
    private 
$db;
        private 
$basket_count;
        private 
$basket_item_id;
        private 
$basket_item_name;
        private 
$basket_item_quantity;
        private 
$basket_item_data;
        private 
$basket_item_price;
        private 
$basket_item_tax;
        private 
$basket_item_color;
        private 
$basket_item_size;

        public function 
__construct($db) {
        
$this->db $db;
                
$this->basket_count=0;
        }
        public function 
Add_Item($ID,$name,$quantity=1) {

                
$this->basket_item_id[$this->basket_count]=$ID;
                
$this->basket_item_name[$this->basket_count]=$name;
                
$this->basket_item_quantity[$this->basket_count]=$quantity;
                
$this->basket_count++;
                return (
$this->basket_count-1);
        }
        public function 
Del_Item($pos) {
                
$this->basket_item_id[$pos]='';
        }
        
        public function 
Get_Image(){
            
//query para obtener imagen del producto
        
}
        
        public function 
Get_Item_ID($pos) {
                return 
$this->basket_item_id[$pos];
        }


forma de uso :
Código PHP:
if(isset($_SESSION["cart"]) && $_SESSION["cart"]!=''){ 
            
$cartunserialize($_SESSION["cart"]);
        } else { 
            
$cart= new shoppingCart($db);  // $db objeto de abstracción base de dato
        

luego de cada operación agrego el objeto a la SESSION:
EJ:
Código PHP:
Código PHP:
$cart->add_cart($quickievalues[0]['products_id'], 4'');
$_SESSION["cart"] = serialize($cart); 

Última edición por zsamer; 22/04/2007 a las 12:28