Foros del Web » Programando para Internet » PHP »

Objeto PHP como global

Estas en el tema de Objeto PHP como global en el foro de PHP en Foros del Web. Código PHP: <? class  carrito  {     var  $nombre_cliente = '' ;     var  $contenido_carrito =array();     var  $precio_carrito = 0 ;     var  $producto =array();      //var $items_en_cesta=$this->items_en_cesta;      ...
  #1 (permalink)  
Antiguo 11/03/2004, 06:02
Avatar de indiestudio  
Fecha de Ingreso: julio-2003
Mensajes: 163
Antigüedad: 20 años, 9 meses
Puntos: 1
Objeto PHP como global

Código PHP:
<?
class carrito {
    var 
$nombre_cliente='';
    var 
$contenido_carrito=array();
    var 
$precio_carrito=0;
    var 
$producto=array();

    
//var $items_en_cesta=$this->items_en_cesta;
    
function nombrecliente($nombre_carrito){
        
$this->nombre_cliente=$nombre_carrito;
    }
    function 
meteproducto($nombre$precio$cantidad$idcontenido){
        foreach(
$this->contenido_carrito as $busqueda){
        
            foreach(
$busqueda as $contenido){
            
                if(
$contenido==$nombre){$repetido=$idcontenido;$esta=true;break;}
            }
        }
        if(!
$esta){        
            
$this->producto['nombre']=$nombre;
            
$this->producto['precio']=$precio;
            
$this->producto['cantidad']=$cantidad;
            
$this->contenido_carrito[$idcontenido]=$this->producto;
            
$this->precio_carrito +=$precio;
        }else{
            
$this->contenido_carrito[$repetido]['precio'] +=$precio;
            
$this->contenido_carrito[$repetido]['cantidad'] +=$cantidad;
            
$this->precio_carrito +=$precio;
        }
                
    }
//fin meteproducto
}
$nuevocarrito= new carrito;
$nuevocarrito->nombrecliente('Manolo');
$nuevocarrito->meteproducto('manzana','50','20','manzana');
$nuevocarrito->meteproducto('manzana','30','150','manzana');
$nuevocarrito->meteproducto('pera','50','20','pera');
?>
Tengo este codigo y kiero ke al acabar de hacer $nuevocarrito, este se pueda recuperar desde cualquier página del site.
Quisiera trabajar sin sesiones ni cookies, pero si es nacesario ke le voy ha hacer...
Gracias de Antemano
  #2 (permalink)  
Antiguo 11/03/2004, 10:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues es necesario usar cookies o sesiones. Justamente para trabajar las variabels que genere tu objeto de forma "global" .. PHP destruye todo objeto/variable en general al cargarse . es decir .. al pasar a una siguiente página de tu sitio perderías todas tus variables generadas en el script anterior si no lo almacenas en algún lugar "compartido" como pueda ser una sesión o cookie (compartido para el usuario que la inicie).

Por cierto .. si usas sesiones, los métodos del obejeto se pierden si lo propagas en sesiones .. así que tienes que llamar a tu objeto en todas las páginas/scripts que lo requieras y por la sesión propagar el objeto instanciado si está creada la sesión y si no está instanciarlo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 11/03/2004, 11:21
Avatar de indiestudio  
Fecha de Ingreso: julio-2003
Mensajes: 163
Antigüedad: 20 años, 9 meses
Puntos: 1
ok, muchas gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:45.