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

Guardar objecto en un archivo

Estas en el tema de Guardar objecto en un archivo en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, queria saber como guardar un objeto en un archivo... Saludos...
  #1 (permalink)  
Antiguo 25/07/2007, 16:01
Avatar de AgusBohemio  
Fecha de Ingreso: enero-2004
Ubicación: Villa crespo
Mensajes: 181
Antigüedad: 20 años, 4 meses
Puntos: 1
Guardar objecto en un archivo

Hola, queria saber como guardar un objeto en un archivo...

Saludos
  #2 (permalink)  
Antiguo 25/07/2007, 16:47
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
Re: Guardar objecto en un archivo

hola, si el objeto es serializable lo tienes que serializar antes de guardar en un archivo o db.

Ejemplo con PHP5
Código PHP:
<?php
class ObjectSaver{
    private 
$objectFile './objects.txt';
    
    private function 
__construct($objectFile){
        if(isset(
$objectFile) && is_string($objectFile) && (strlen($objectFile)>0) ){
            
$this->objectFile $objectFile;
        }
        
        
$this->save();
    }
    
    private function 
save(){
        if(!
$fp=fopen($this->objectFile,'w')){
            throw new 
Exception('Error al abrir el archivo');
        }
        if(!
fwrite($fp,serialize($this))){
            throw new 
Exception('Error al guardar el objeto en el archivo');
        }
        
fclose($fp);
    }
    
    public function 
fetch(){
        if( !
$obj unserialize(file_get_contents($this->objectFile)) ){
            throw new 
Exception('Error al obtener el objeto desde el archivo');
        }
        return 
$obj;
    }
    
    public function 
displayMessage(){
        return 
'Este es un Objeto que fué guardado y ahora ejecuta este método $this->displayMessage()!';
    }
}

try {
    
$objSaver = new ObjectSaver('./objects.txt');
    
$newObj $objSaver->fetch();
    print 
$newObj->displayMessage();
} catch(
Exception $e){
    echo 
'Error : '.$e->getMessage();
    exit();
}
?>
  #3 (permalink)  
Antiguo 01/08/2007, 22:17
Avatar de AgusBohemio  
Fecha de Ingreso: enero-2004
Ubicación: Villa crespo
Mensajes: 181
Antigüedad: 20 años, 4 meses
Puntos: 1
Re: Guardar objecto en un archivo

holaa, muchas gracias por responder
si no es serializable el objeto, como lo hago serializable?

saludos
  #4 (permalink)  
Antiguo 02/08/2007, 07:51
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: Guardar objecto en un archivo

Tienes que implementar la interfase Serializable en el objeto.

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 12:40.