Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

problema con la herencia de memCache

Estas en el tema de problema con la herencia de memCache en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, Estoy intentando hacerme una clase que cachee el bufer de salida de una pagina con memcache, puede ser una clase super util pero no ...
  #1 (permalink)  
Antiguo 04/10/2007, 12:34
 
Fecha de Ingreso: octubre-2007
Mensajes: 6
Antigüedad: 16 años, 7 meses
Puntos: 0
problema con la herencia de memCache

Hola,

Estoy intentando hacerme una clase que cachee el bufer de salida de una pagina con memcache, puede ser una clase super util pero no hay forma de hacerla funcionar, creo que es problema del constructor

siempre me devuelve:
Fatal error: Call to a member function get() on a non-object in...

gracias por adelantado

<?
class myCache extends Memcache {
private $objMemCache;
private $iscached=false;
private $key='';
private $seconds=0;
public function __construct(){
$this->objMemCache=$this->connect('127.0.0.1', 11211);
}

public function start($key,$seconds){
$this->key=$key;
$this->seconds=$seconds;
$data=$this->objMemCache->get($key);
if($data==''){
$this->iscached=false;
return true;
}else{
echo $data;
$this->iscached=true;
return false;
}
}
public function end(){
if(!$this->iscached){
$data = ob_get_contents();
$this->objMemCache->set($this->key,$data,false,$this->seconds);
}

}
}

$c=new myCache();
if($c->start('hora',10)){
//muchas cosas a cachear
echo date("H:i:s");
}$c->end();
?>
  #2 (permalink)  
Antiguo 04/10/2007, 14:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: problema con la herencia de memCache

Si estas heredando, no es necesario que guardes la instancia de memCache en una variable, aparte en el constructor estas asignando $this->connect, si revisas la documentacion veras que Memcache::connect no te regresa una instancia.

Saludos.
  #3 (permalink)  
Antiguo 05/10/2007, 01:33
 
Fecha de Ingreso: octubre-2007
Mensajes: 6
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: problema con la herencia de memCache

pero como haria entonces para que se conecte directamente en el constructor?
  #4 (permalink)  
Antiguo 05/10/2007, 07:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: problema con la herencia de memCache

Lee la documentacion aloon, la herencia lo que hace es EXTENDER el objeto, con sus propiedades y metodos en tu clase:

Código PHP:
<?
class myCache extends Memcache {
       private 
$iscached=false;
       private 
$key='';
       private 
$seconds=0;

       public function 
__construct(){
                
$connected $this->connect('127.0.0.1'11211);
                if( !
$connected ) {
                      throw new 
Exception("No se ha podido conectar al server Memcache");
                }
       }

       public function 
start($key,$seconds){
                
$this->key=$key;
                
$this->seconds=$seconds;
                
$data=$this->get($key);
                if(
$data==''){
                          
$this->iscached=false;
                          return 
true;
                }else{
                         echo 
$data;
                         
$this->iscached=true;
                         return 
false;
                }
         }
         public function 
end(){
                if(!
$this->iscached){
                        
$data ob_get_contents();
                        
$this->set($this->key,$data,false,$this->seconds);
                 }
         }
}

?>
Saludos.
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 17:16.